知识大全 如何使用Java布局器

Posted 布局

篇首语:青春不以山海为远,志愿只向家国未来。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何使用Java布局器相关的知识,希望对你有一定的参考价值。

如何使用Java布局器?  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  很多初学者在用Java布局器自动布局画界面时 经常遇见不知道如何定义区域大小或按钮之间的距离等问题 我写过一篇《实现JAVA手动布局中各个组件能随窗口变化的方法》的文章 有读者反映算坐标不好算 问能不能用布局器实现文章中的界面 其实自动布局也可以解决定义区域大小或按钮之间的距离等问题 只是没有手动布局那么灵活 下面我就用自动布局来实现《实现JAVA手动布局中各个组件能随窗口变化的方法》文章中的界面       首先 建一个frame文件(Application应用程序) 在Design中将this中的layout设置为BorderLayout       第二 在组件盘内点选Swing Container页签 选取Jpanel图标 在this中上方拖拽一块区域 布局器会自动调整位置与大小 同样的方法在中下方也拖拽一块区域 在Swing Container页签 选取jScrollPane图标 将jScrollPane在中间拖拽一块区域 拖拽的顺序一定要先上后下再中间 为了方便区分 在Properties的background中 将上方的Jpanel 区域设置为红色 下方的Jpanel 区域设置为橙色 中间的jScrollPane 为粉红色 将Jpanel 和Jpanel 的layout设置为flowLayout(必须要手动设置 不要采用默认值)       第三 在Jpanel中放入一个Jlable标题栏 JTextField 文本框和Jbutton按钮 在组件盘内点选Swing 页签 选取JLable图标在Jpanel 的中画一个标题栏 将text改为 请输入查询条件 再选取JtextField在Jpanel 中画一个文本框 将text改为空 最后选取Jbutton在Jpanel 中再画一个按钮将text改为 查询 画完后他们都是在中间 而且大小固定 这时点选Jpanel的flowLayout 将右边Properties中的alignment设置为LEFT 这时Jpanel 中的组键就会向左排列 选中其中一个组键 在Properties中的preferredSize可以设置组键的宽和高 同样的方法在Jpanel 中画三个Jbutton按钮 将text分别设为 增加 删除 修改 点选Jpane 的flowLayout 将右边Properties中的hgap设置为 (按钮的间距 可根据自己的需要调整数值大小) 这样就调整了三个按钮之间的距离 设置vgap还可以改变Jpane 区域的高度       第四 在jScrollPane 中建一个表格用来显示数据库数据的内容 在组件盘内点选Swing 页签 选取JTable图标 将Jtable加入到jScrollPane 中       最后 将this中的defaultCloseOperation改为EXIT_ON_CLOSE 这样在关闭窗口时程序会自动退出       程序源代码如下(除中文注释部分的两句是自己加上去 其余是自动生成)   import javax swing *;  import java awt *;  import java awt event *;  import java util Vector;  import javax swing table DefaultTableModel;    public class Frame     extends JFrame    BorderLayout borderLayout = new BorderLayout();   JPanel jPanel = new JPanel();   JPanel jPanel = new JPanel();   JPanel jPanel = new JPanel();   JLabel jLabel = new JLabel();   JTextField jTextField = new JTextField();   JButton jButton = new JButton();   FlowLayout flowLayout = new FlowLayout();   FlowLayout flowLayout = new FlowLayout();   JButton jButton = new JButton();   JButton jButton = new JButton();   JButton jButton = new JButton();   GridLayout gridLayout = new GridLayout();   JScrollPane jScrollPane = new JScrollPane();   JTable jTable = new JTable();     public Frame ()     try      jbInit();        catch (Exception e)      e printStackTrace();            public static void main(String[] args)     Frame frame = new Frame ();    frame setSize(new Dimension( ));    frame show();          private void jbInit() throws Exception     this getContentPane() setLayout(borderLayout );    jPanel setBackground(Color red);    jPanel setLayout(flowLayout );    jPanel setBackground(Color red);    jPanel setLayout(flowLayout );    jPanel setBackground(Color pink);    jPanel setLayout(gridLayout );    jLabel setPreferredSize(new Dimension( ));    jLabel setText( 请输入查询条件 );    jTextField setPreferredSize(new Dimension( ));    jTextField setText( );    jButton setText( 查询 );    jButton addActionListener(new Frame _jButton _actionAdapter(this));    flowLayout setAlignment(FlowLayout LEFT);    flowLayout setHgap( );    flowLayout setVgap( );    jButton setText( 增加 );    jButton setText( 删除 );    jButton setText( 修改 );    flowLayout setHgap( );    flowLayout setVgap( );    this setDefaultCloseOperation(EXIT_ON_CLOSE);    this getContentPane() add(jPanel BorderLayout NORTH);    jPanel add(jLabel null);    jPanel add(jTextField null);    jPanel add(jButton null);    this getContentPane() add(jPanel BorderLayout SOUTH);    jPanel add(jButton null);    jPanel add(jButton null);    jPanel add(jButton null);    this getContentPane() add(jPanel BorderLayout CENTER);    jPanel add(jScrollPane null);    jScrollPane getViewport() add(jTable null);       //模拟查询数据库   void jButton _actionPerformed(ActionEvent e)     try //制作表     Vector vcol = new Vector(); //列名     Vector vrow = new Vector(); //内容     for (int col = ; col < ; col++)       vcol addElement( 列 + col);          for (int row = ; row < ; row++)       Vector vr = new Vector();      for (int col = ; col < ; col++)        vr addElement(row + / + col);            vrow addElement(vr );          DefaultTableModel dtm = new DefaultTableModel(vrow vcol);     jTable = new JTable(vrow vcol);     jTable setAutoResizeMode(JTable AUTO_RESIZE_OFF); //滚动条设置左右滚     this jScrollPane getViewport() add(jTable null); //在滚动条中放入表        catch (Exception ex)      JOptionPane showMessageDialog(null ex);               class Frame _jButton _actionAdapter    implements java awt event ActionListener    Frame adaptee;     Frame _jButton _actionAdapter(Frame adaptee)     this adaptee = adaptee;        public void actionPerformed(ActionEvent e)     adaptee jButton _actionPerformed(e);      cha138/Article/program/Java/Javascript/201311/25392

相关参考

知识大全 关于JAVA的GridLayout布局管理器

关于JAVA的GridLayout布局管理器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  JP

知识大全 Java布局管理器使用方法探讨

Java布局管理器使用方法探讨  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  很多初学者在用Ja

知识大全 Java GUI中布局管理器的使用

JavaGUI中布局管理器的使用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixinzh

知识大全 创建布局管理器

  来自于布局管理类LayoutManager  创建方法  a布局管理器必须实现布局管理器类的接口//  b覆蓋五个函数  //在布局管理器中增加或删除组件时调用下面两个函数  voidaddLay

知识大全 GroupLayout布局管理器实例

GroupLayout布局管理器实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  GroupL

知识大全 Java:Applet布局问题

Java:Applet布局问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  applet布局问

知识大全 Java中的枚举器(反复器)

Java中的枚举器(反复器)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在任何集合类中必须通

知识大全 Java中的构建器

Java中的构建器  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  为违例编写代码时我们经常要解决

知识大全 java颜色选择器

    packageswimg;  importjavaawtBorderLayout;  importjavaawtColor;  importjavaawtContainer;  importj

知识大全 Java设计模式之迭代器模式

Java设计模式之迭代器模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一引言  迭代这个名词对