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

Posted 布局

篇首语:你不能左右天气,但你能转变你的心情。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java布局管理器使用方法探讨相关的知识,希望对你有一定的参考价值。

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

  很多初学者在用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 < 31; col++)   vcol.addElement("列" + col);    for (int row = 1; row < 101; row++)   Vector vr1 = new Vector();  for (int col = 1; col < 31; col++)   vr1.addElement(row + "/" + col);    vrow.addElement(vr1);    DefaultTableModel dtm = new DefaultTableModel(vrow, vcol);  jTable1 = new JTable(vrow, vcol);  jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); //滚动条设置左右滚  this.jScrollPane1.getViewport().add(jTable1, null); //在滚动条中放入表    catch (Exception ex)   JOptionPane.showMessageDialog(null, ex);            class Frame1_jButton1_actionAdapter  implements java.awt.event.ActionListener   Frame1 adaptee;    Frame1_jButton1_actionAdapter(Frame1 adaptee)   this.adaptee = adaptee;      public void actionPerformed(ActionEvent e)   adaptee.jButton1_actionPerformed(e);     cha138/Article/program/Java/JSP/201311/19316

相关参考

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

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

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

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

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

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

知识大全 创建布局管理器

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

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

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

知识大全 Java:Applet布局问题

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

关于城市污水处理厂布局规划问题的探讨

随着人们环境意识的提高,对于水污染的治理,越来越受到重视。城市污水处理厂在水污染治理中发挥着重要的作用。目前全国各城市都在加快污水处理厂的建设,我国将迎来一个城市污水处理厂建设快速发展的时期。关于城市

关于城市污水处理厂布局规划问题的探讨

随着人们环境意识的提高,对于水污染的治理,越来越受到重视。城市污水处理厂在水污染治理中发挥着重要的作用。目前全国各城市都在加快污水处理厂的建设,我国将迎来一个城市污水处理厂建设快速发展的时期。关于城市

关于城市污水处理厂布局规划问题的探讨

随着人们环境意识的提高,对于水污染的治理,越来越受到重视。城市污水处理厂在水污染治理中发挥着重要的作用。目前全国各城市都在加快污水处理厂的建设,我国将迎来一个城市污水处理厂建设快速发展的时期。关于城市

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

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