下面将GirdLayout, BorderLayout, FlowLayout布局管理器结合起来设计一个综合实例,主要思路是用GirdLayout布局管理器与顶层窗口关联,在这个布局管理器中添加FlowLayout布局管理器和BorderLayout布局管理器,最后在这些布局管理器中添加控件。实例代码如下所示:
publicclassBWF{
staticintwidth=400;
staticintheight=600;
publicstaticvoidmain(String[] args){
JFrame jf=newJFrame("GridLayout布局管理器");
jf.setSize(width,height);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true);
JPanel contentPane=newJPanel();
jf.setContentPane(contentPane);//将中间容器组件对象contentPane设置为内容面板
jf.setLayout(newGridLayout(3, 2));//创建一个GridLayout布局管理对象,设置为2行3列。将中间容器设置为此布局管理
JPanel p1=newJPanel();
JPanel p2=newJPanel();
JPanel p3=newJPanel();
JPanel p4=newJPanel();
JPanel p5=newJPanel();
contentPane.add(p1);
contentPane.add(p2);
contentPane.add(p3);
contentPane.add(p4);
contentPane.add(p5);
JButton b1=newJButton("港元");//创建25个普通按钮组件
JButton b2=newJButton("人民币");
JButton b3=newJButton("美元");
JButton b4=newJButton("欧元");
JButton b5=newJButton("英镑");
JButton b6=newJButton("主板");
JButton b7=newJButton("内存条");
JButton b8=newJButton("鼠标");
JButton b9=newJButton("显示器");
JButton b10=newJButton("键盘");
JButton b11=newJButton("大米");
JButton b12=newJButton("蔬菜");
JButton b13=newJButton("牛肉");
JButton b14=newJButton("鸡肉");
JButton b15=newJButton("茄子");
JButton b16=newJButton("面包");
JButton b17=newJButton("蛋糕");
JButton b18=newJButton("苹果派");
JButton b19=newJButton("巧克力");
JButton b20=newJButton("果冻");
JButton b21=newJButton("文件夹");
JButton b22=newJButton("涂改液");
JButton b23=newJButton("铅笔");
JButton b24=newJButton("办公桌");
JButton b25=newJButton("钢笔");
p1.setLayout(newBorderLayout());//将p1面板设置为BorderLayout
p1.add(b1,BorderLayout.WEST);//将1-5普通按钮添加到p1面板中
p1.add(b2,BorderLayout.SOUTH);
p1.add(b3,BorderLayout.EAST);
p1.add(b4,BorderLayout.NORTH);
p1.add(b5,BorderLayout.CENTER);
p2.setLayout(newBorderLayout());
p2.add(b6,BorderLayout.WEST);//将6-10普通按钮添加到p2面板中
p2.add(b7,BorderLayout.SOUTH);
p2.add(b8,BorderLayout.EAST);
p2.add(b9,BorderLayout.NORTH);
p2.add(b10,BorderLayout.CENTER);
p3.setLayout(newFlowLayout());//将p3面板设置为FlowLayout
p3.add(b11);//将11-15普通按钮添加到p3面板中
p3.add(b12);
p3.add(b13);
p3.add(b14);
p3.add(b15);
p4.setLayout(newBorderLayout());
p4.add(b16,BorderLayout.WEST);//将16-20普通按钮添加到p4面板中
p4.add(b17,BorderLayout.SOUTH);
p4.add(b18,BorderLayout.EAST);
p4.add(b19,BorderLayout.NORTH);
p4.add(b20,BorderLayout.CENTER);
p5.setLayout(newBorderLayout());
p5.add(b21,BorderLayout.WEST);//将21-25普通按钮添加到p5面板中
p5.add(b22,BorderLayout.SOUTH);
p5.add(b23,BorderLayout.EAST);
p5.add(b24,BorderLayout.NORTH);
p5.add(b25,BorderLayout.CENTER);
}
}