3 )只要是容器型的组件都可以添加其他组件,也都可以设置布局管理器,所以面板就是一个常用的容器组件,综合使用面板叠加嵌套布
局管理器可以构造出更加灵活的界面,如下面的练习可以显示一个计算器程序:
importjavax.swing.*;
importjava.awt.*;
publicclassexec
{
publicstaticvoidmain(String[]args)
{
JFramef=newJFrame("Hello!");
f.setLocation(10,100);
f.setSize(150,400);
f.getContentPane().setLayout(newFlowLayout(1,10,10));
JLabell=newJLabel("**** 计算器 ****");
JLabell1=newJLabel(" 数 1:");
JLabell2=newJLabel(" 数 2:");
JLabell3=newJLabel(" 和 :");
JTextFieldt1=newJTextField(5);
JTextFieldt2=newJTextField(5);
JTextFieldt3=newJTextField(10);
JButtonb=newJButton("Sum");
JPanelp1=newJPanel();
JPanelp2=newJPanel();
JPanelp3=newJPanel();
JPanelp4=newJPanel();
JPanelp5=newJPanel();
p1.setLayout(newFlowLayout(FlowLayout.CENTER,0,10));
p1.add(l);
p2.setLayout(newFlowLayout(FlowLayout.CENTER,10,0));
p2.add(l1);
p2.add(t1);
p3.setLayout(newFlowLayout(FlowLayout.CENTER,10,0));
p3.add(l2);
p3.add(t2);
p4.setLayout(newFlowLayout(FlowLayout.CENTER,10,0));
p4.add(l3);
p4.add(t3);
p5.setLayout(newFlowLayout(FlowLayout.CENTER,10,10));
p5.add(b);
f.getContentPane().add(p1);
f.getContentPane().add(p2);
f.getContentPane().add(p3);
f.getContentPane().add(p4);
f.getContentPane().add(p5);
f.setVisible(true);
}
}