就象2bizbox 查询列表区域(上面查询条件+分页条,下面是表格列表)那样,调整窗口大小时,那个查询条件的框会自动换行排列,并且这个查询区域的高度会自动撑高。
package com.more.mes.sysmain.action;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.util.Vector;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class TestLayout extends JFrame {
/**
*
*/
private static final long serialVersionUID = -7038258315579184604L;
private JPanel jp1;// 总panel(用borderlayout)
private JPanel jp2;// (放在north)查询条件区域panel(flowlayout)
private JPanel jp3;// (放在center)记录集显示表格区域panel(borderlayout)
public TestLayout() {
this.setSize(600, 400);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jp1 = new JPanel(new BorderLayout());
jp2 = new JPanel(new FlowLayout());
jp3 = new JPanel(new BorderLayout());
this.getContentPane().add(jp1);
jp1.add(jp2, java.awt.BorderLayout.NORTH);
jp1.add(jp3, java.awt.BorderLayout.CENTER);
JLabel jlab1 = new JLabel("物料名称1");
JLabel jlab2 = new JLabel("物料名称2");
JLabel jlab3 = new JLabel("物料名称3");
JLabel jlab4 = new JLabel("物料名称4");
JLabel jlab5 = new JLabel("物料名称5");
JLabel jlab6 = new JLabel("物料名称6");
JTextField jtext1 = new JTextField("测试文本框1");
JTextField jtext2 = new JTextField("测试文本框2");
JTextField jtext3 = new JTextField("测试文本框3");
JTextField jtext4 = new JTextField("测试文本框4");
JTextField jtext5 = new JTextField("测试文本框5");
JTextField jtext6 = new JTextField("测试文本框6");
jp2.add(jlab1);
jp2.add(jtext1);
jp2.add(jlab2);
jp2.add(jtext2);
jp2.add(jlab3);
jp2.add(jtext3);
jp2.add(jlab4);
jp2.add(jtext4);
jp2.add(jlab5);
jp2.add(jtext5);
jp2.add(jlab6);
jp2.add(jtext6);
JTable jtable = new JTable();
jtable.setModel(new javax.swing.table.DefaultTableModel(new Object[][] { { null, null, null, null, null },
{ null, null, null, null, null }, { null, null, null, null, null }, { null, null, null, null, null } },
new String[] { "Title 1", "Title 2", "Title 3", "Title 4", "Title 5" }));
JScrollPane jsp = new JScrollPane();
jsp.getViewport().add(jtable, null);
jp3.add(jsp, BorderLayout.CENTER);
jp1.updateUI();
}
public static void main(String[] args) {
new TestLayout();
}
}