下面將針對SpringLayout布局管理器設(shè)計實例木蹬,實例代碼如下所示:
publicclassBWF{
publicstaticintWIDTH=300;
publicstaticintHEIGHT=250;
publicstaticvoidmain(Stringargs[]){
JFramejf=newJFrame("測試SpringLayout布局管理器");
jf.setSize(WIDTH,HEIGHT);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanelcontentPane=newJPanel();
//創(chuàng)建了兩個普通按鈕組件揽惹、一個標(biāo)簽組件,將它們添加到中間容器中
JButtonb1=newJButton("按鈕1");
JButtonb2=newJButton("按鈕2");
JLabell=newJLabel("測試程序");
contentPane.add(l);
contentPane.add(b1);
contentPane.add(b2);
//創(chuàng)建一個SpringLayout布局管理器,并且將之作為中間容器的布局方式
SpringLayoutspringLay=newSpringLayout();
contentPane.setLayout(springLay);
//針對每個組件設(shè)置其與邊界的距離
springLay.putConstraint(SpringLayout.NORTH,l, 5,
SpringLayout.NORTH,contentPane);
springLay.putConstraint(SpringLayout.WEST,l, 85,
SpringLayout.WEST,contentPane);
springLay.putConstraint(SpringLayout.EAST,l, 85,
SpringLayout.EAST,contentPane);
springLay.putConstraint(SpringLayout.NORTH,b1, 55,
SpringLayout.NORTH,contentPane);
springLay.putConstraint(SpringLayout.WEST,b1, 5,
SpringLayout.WEST,contentPane);
springLay.putConstraint(SpringLayout.EAST,b1, 25,
SpringLayout.EAST,contentPane);
springLay.putConstraint(SpringLayout.NORTH,b2, 105,
SpringLayout.NORTH,contentPane);
springLay.putConstraint(SpringLayout.WEST,b2, 5,
SpringLayout.WEST,contentPane);
springLay.putConstraint(SpringLayout.EAST,b2, 25,
SpringLayout.EAST,contentPane);
jf.setContentPane(contentPane);
jf.setVisible(true);
}
}
這個布局管理器是通過計算組件到邊的距離來給組件布局的秸仙。比較前面幾個布局管理器聂薪,GridBagLayout布局管理器和BoxLayout布局管理器比較人性化部逮,而SpringLayout布局管理器雖然也比較人性化枷恕,但是比前面兩種布局管理器要復(fù)雜的多。