9.3.2
下面例子中,有两个列型盒式容器boxVOne,boxVTwo和一个行型盒式容器boxH。将boxVOne,boxVTwo添加到boxH中,并在它们之间添加了水平支撑,程序运行效果如图9.6所示。
程序理解:
Example9_5是主类,创建WindowBoxLayout对象作为布局,设置窗体坐标,大小和名称。
WindowBoxLayout先声明,设置流式布局,窗口可视化和退出程序操作。
init()方法里初始化类与组件,采用盒式布局,boxH添加了两个列式盒boxVOne和boxVTwo,并在这两个烈士盒之间添加了水平支撑。
public class Example9_5 {
public static void main(String args[ ]) {
WindowBoxLayout win = new WindowBoxLayout( );
win.setBounds(100,100,370,260);
win.setTitle("嵌套盒式布局容器");
}
}
import javax.swing.*;
public class WindowBoxLayout extends JFrame {
Box boxH; //行式盒
Box boxVOne,boxVTwo; //列式盒
public WindowBoxLayout() {
setLayout(new java.awt.FlowLayout());
init();
setVisible(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
void init() {
boxH=Box.createHorizontalBox();
boxVOne=Box.createVerticalBox();
boxVTwo=Box.createVerticalBox();
boxVOne.add(new JLabel("姓名:"));
boxVOne.add(new JLabel("职业:"));
boxVTwo.add(new JTextField(10));
boxVTwo.add(new JTextField(10));
boxH.add(boxVOne);
boxH.add(Box.createHorizontalStrut(10));
boxH.add(boxVTwo);
add(boxH);
}
}
代码运行截图: