此示例演示了如何使用BoxLayout布局管理器按行或列顺序排列组件。除了使用BoxLayout管理器外,我们还可以使用Box组件作为内容窗格,以获得与使用BoxLayout管理器相同的效果。
package org.nhooo.example.swing; import javax.swing.*; public class BoxLayoutDemo extends JFrame { public BoxLayoutDemo() { initialize(); } private void initialize() { setSize(400, 400); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); // 使用BoxLayout.X_AXIS将内容窗格的布局设置为BoxLayout //将组件从左到右排列。如果我们要安排 // 组件自上而下我们可以使用BoxLayout.Y_AXIS; setLayout(new BoxLayout(getContentPane(), BoxLayout.X_AXIS)); JLabel label = new JLabel("Username : "); JTextField textField = new JTextField(); JLabel password = new JLabel("Password :"); JPasswordField passwordField = new JPasswordField(); getContentPane().add(label); getContentPane().add(textField); getContentPane().add(password); getContentPane().add(passwordField); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { new BoxLayoutDemo().setVisible(true); } }); } }