博为峰Java技术文章 ——JavaSE Swing BorderLayout布局管理器实例II

博为峰小博老师:

下面在列举一个稍微复杂的实例。在实例中将5个不同的内容面板放到与顶层窗口相关联的内容面板后,再在每个内容面板中添加组件,其代码如下所示:

publicclassBWF {

staticintwidth=800;

staticintheight=600;

publicstaticvoidmain(String[] args){

JFrame jf=newJFrame("BorderLayout布局管理器测试实例");

jf.setSize(width,height);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

jf.setVisible(true);

JPanel contentPane=newJPanel();

jf.setContentPane(contentPane);//将中间容器组件对象contentPane设置为内容面板

JButton button1=newJButton("p1东");//创建25个按钮组件

JButton button2=newJButton("p1南");

JButton button3=newJButton("p1西");

JButton button4=newJButton("p1北");

JButton button5=newJButton("p1中");

JButton button6=newJButton("p2东");

JButton button7=newJButton("p2南");

JButton button8=newJButton("p2西");

JButton button9=newJButton("p2北");

JButton button10=newJButton("p2中");

JButton button11=newJButton("p3东");

JButton button12=newJButton("p3南");

JButton button13=newJButton("p3西");

JButton button14=newJButton("p3北");

JButton button15=newJButton("p3中");

JButton button16=newJButton("p4东");

JButton button17=newJButton("p4南");

JButton button18=newJButton("p4西");

JButton button19=newJButton("p4北");

JButton button20=newJButton("p4中");

JButton button21=newJButton("p5东");

JButton button22=newJButton("p5南");

JButton button23=newJButton("p5西");

JButton button24=newJButton("p5北");

JButton button25=newJButton("p5中");

BorderLayout lay=newBorderLayout();

jf.setLayout(lay);//创建一个布局管理对象,将中间容器设置为此布局管理

JPanel p1=newJPanel();//创建5个中间容器,并且将它们的布局管理器设成BorderLayout方式

JPanel p2=newJPanel();

JPanel p3=newJPanel();

JPanel p4=newJPanel();

JPanel p5=newJPanel();

contentPane.add(p1,"West");//将5个中间容器对象分别加入到上层中间容器中,并且按照BorderLayout的方式进行布局

contentPane.add(p2,"North");

contentPane.add(p3,BorderLayout.EAST);

contentPane.add(p4,BorderLayout.SOUTH);

contentPane.add(p5,BorderLayout.CENTER);

p1.setLayout(newBorderLayout());

p1.add(button1,BorderLayout.WEST);//将第1-5个普通按钮组件按照BorderLayout方式布局到p1中间容器中

p1.add(button2,BorderLayout.NORTH);

p1.add(button3,BorderLayout.EAST);

p1.add(button4,BorderLayout.SOUTH);

p1.add(button5,BorderLayout.CENTER);

p2.setLayout(newBorderLayout());

p2.add(button6,BorderLayout.WEST);//将第6-10个普通按钮组件按照BorderLayout方式布局到p2中间容器中

p2.add(button7,BorderLayout.NORTH);

p2.add(button8,BorderLayout.EAST);

p2.add(button9,BorderLayout.SOUTH);

p2.add(button10,BorderLayout.CENTER);

p3.setLayout(newBorderLayout());

p3.add(button11,BorderLayout.WEST);//将第11-15个普通按钮组件按照BorderLayout方式布局到p3中间容器中

p3.add(button12,BorderLayout.NORTH);

p3.add(button13,BorderLayout.EAST);

p3.add(button14,BorderLayout.SOUTH);

p3.add(button15,BorderLayout.CENTER);

p4.setLayout(newBorderLayout());

p4.add(button16,BorderLayout.WEST);//将第16-20个普通按钮组件按照BorderLayout方式布局到p4中间容器中

p4.add(button17,BorderLayout.NORTH);

p4.add(button18,BorderLayout.EAST);

p4.add(button19,BorderLayout.SOUTH);

p4.add(button20,BorderLayout.CENTER);

p5.setLayout(newBorderLayout());

p5.add(button21,BorderLayout.WEST);//将第21-25个普通按钮组件按照BorderLayout方式布局到p5中间容器中

p5.add(button22,BorderLayout.NORTH);

p5.add(button23,BorderLayout.EAST);

p5.add(button24,BorderLayout.SOUTH);

p5.add(button25,BorderLayout.CENTER);

}

}

博为峰Java技术文章 ——JavaSE Swing BorderLayout布局管理器实例II_第1张图片

上面使用了布局管理器内嵌布局管理器的方式。每个方位都添加一个中间容器又使用一个BorderLayout布局管理器来布局其中的组件。

你可能感兴趣的:(博为峰Java技术文章 ——JavaSE Swing BorderLayout布局管理器实例II)