Dimension可以完成这个功能。
每个组件,都可以设置它的最大的Dimension(setMaxDemiension?)、最小的Dimension(setMinDemiension?),好像还有最合适的Dimension,通常情况下,最大和最小的值是一样的话,好像大小就固定(但也有特例)。
具体写法我忘了,好久没写这样的界面了。
每个组件,都可以设置它的最大的Dimension(setMaxDemiension?)、最小的Dimension(setMinDemiension?),好像还有最合适的Dimension,通常情况下,最大和最小的值是一样的话,好像大小就固定(但也有特例)。
具体写法我忘了,好久没写这样的界面了。
比如:
reportPane1.add(reportDetailPane, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0
,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
frame.getContentPane.setLayout(b);
JPanel panel1 = new Jpanel()
JPanel panel2 = new Jpanel()
JPanel panel3 = new Jpanel()panel1和panel3用FlowLayoutframe.getContentPane.add(panel1, BorderLayout.NORTH);
frame.getContentPane.add(panel2, BorderLayout.CENTER);
frame.getContentPane.add(panel3, BorderLayout.SOUTH);ok!! :)
import javax.swing.*;public class MainFm extends JFrame {
private JLabel l1, l2;
private JTextField t1, t2;
private JTextArea ta;
private JButton b1, b2;
public MainFm() {
fmInit();
}
private void fmInit() {
l1 = new JLabel("l1");
l2 = new JLabel("l2");
t1 = new JTextField(20);
t2 = new JTextField(20);
b1 = new JButton("b1");
b2 = new JButton("b2");
ta = new JTextArea(10, 20);
Container c = this.getContentPane();
c.setLayout(new BorderLayout());
c.add(new Pan1(), BorderLayout.NORTH);
c.add(new Pan2(), BorderLayout.SOUTH);
c.add(ta);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
};
private class Pan1 extends JPanel {
public Pan1() {
add(l1);
add(t1);
add(b1);
}
}
private class Pan2 extends JPanel {
public Pan2() {
add(l2);
add(t2);
add(b2);
}
}
public static void main(String[] args) {
new MainFm().setVisible(true);
}
}