BoxLayout 类用于垂直(沿 Y 轴)或水平(沿 X 轴)排列组件。在BoxLayout 类中,组件放置在单行或单列中。组件不会换行,因此,例如,当调整框架大小时,水平排列的组件将保持水平排列。
类的构造函数:
- BoxLayout(容器c,int轴):创建一个 BoxLayout 类,该类用 X 轴或 Y 轴排列组件。
常用方法:
- addLayoutComponent(组件cmp,对象obj):该类不使用它。
- getLayoutAlignmentX(容器con):返回容器沿 X 轴的对齐方式。
- getLayoutAlignmentY(容器con):返回容器沿 Y 轴的对齐方式。
- 最大布局尺寸(容器con):返回目标容器可用于布置其包含的组件的最大尺寸。
- 最小布局尺寸(容器con):返回布置指定目标容器中包含的组件所需的最小尺寸。
- 删除布局组件(组件cmp):该类不使用它。
- 布局容器(容器焦油):当需要布置指定的容器时由 AWT 调用。
以下示例程序旨在说明 BoxLayout 类:
- 程序1:在下面的程序中我们安排了几个J标签组件在一个J框架。我们创建 1J面板组件命名为“Panel”和 5J按钮名为“的组件jbtn1“,”jbtn2“,”jbtn3“,”jbtn4“,”jbtn5”。此外,我们正在创建一个BoxLayout名为 “boxlayout” 的组件和一个J框架类,然后将它们添加到J框架通过使用add()方法。我们使用设置框架的可见性setvisible()方法。布局设置使用setLayout()方法。
// Java program to demonstrate BoxLayout // class along X-Axis import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.BoxLayout; import javax.swing.Box; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import java.awt.Insets; import java.awt.Dimension; // taking a class Demo public class Demo { // Main Method public static void main(String[] args) { // Function to set up the window frame. JFrame.setDefaultLookAndFeelDecorated(true); // Creating Object of "JFrame" class JFrame frame = new JFrame("BoxLayout Example X_AXIS"); // Declaration of objects of JButton class. JButton jbtn1, jbtn2, jbtn3, jbtn4, jbtn5; // Function to set the default // close operation of JFrame the. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Set the panel to add buttons JPanel panel = new JPanel(); // Creating Object of "boxlayout" in // X_Axis from left to right BoxLayout boxlayout = new BoxLayout(panel, BoxLayout.X_AXIS); // to set the box layout panel.setLayout(boxlayout); // Set border for the panel panel.setBorder(new EmptyBorder(new Insets(100, 150, 100, 150))); // Initialization of object "jb1" of JButton class. jbtn1 = new JButton("Button 1"); // Initialization of object "jb2" of JButton class. jbtn2 = new JButton("Button 2"); // Initialization of object "jb3" of JButton class. jbtn3 = new JButton("Button 3"); // Initialization of object "jb4" of JButton class. jbtn4 = new JButton("Button 4"); // Initialization of object "jb5" of JButton class. jbtn5 = new JButton("Button 5"); // Adding JButton "jb1" on JFrame panel.add(jbtn1); // Adding JButton "jb2" on JFrame panel.add(jbtn2); // Adding JButton "jb3" on JFrame panel.add(jbtn3); // Adding JButton "jb4" on JFrame panel.add(jbtn4); // Adding JButton "jb5" on JFrame panel.add(jbtn5); // Function to set the panel of JFrame. frame.add(panel); // Function to use the pack of JFrame. frame.pack(); // Function to set visible status of JFrame. frame.setVisible(true); } }
输出:
- 程序2:以下程序沿 Y 轴排列组件J 框架。我们创建 1J面板组件命名为“Panel”, 5J按钮名为“的组件jbtn1“,”jbtn2“,”jbtn3“,”jbtn4“,”jbtn5“, ABoxLayout名为 “boxlayout” 的组件和一个J框架类,然后将它们添加到J框架通过使用add()方法。我们将使用以下方法设置框架的可见性setvisible()方法。布局是通过使用设置的setLayout()方法。
// Java program to demonstrate BoxLayout // class along Y-Axis import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.BoxLayout; import javax.swing.Box; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import java.awt.Insets; import java.awt.Dimension; // construct a class Demo_1 public class Demo_1 { // Main Method public static void main(String[] args) { // Function to set up the window frame. JFrame.setDefaultLookAndFeelDecorated(true); // Creating Object of "JFrame" class JFrame frame = new JFrame("BoxLayout Example Y_AXIS"); // Declaration of objects of JButton class. JButton jbtn1, jbtn2, jbtn3, jbtn4, jbtn5; // Function to set the default close operation of JFrame the. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Set the panel to add buttons JPanel panel = new JPanel(); // Creating Object of "boxlayout" in Y_Axis from top to down BoxLayout boxlayout = new BoxLayout(panel, BoxLayout.Y_AXIS); // to set the box layout panel.setLayout(boxlayout); // Set border for the panel panel.setBorder(new EmptyBorder(new Insets(100, 150, 100, 150))); // Initialization of object "jb1" of JButton class. jbtn1 = new JButton("Button 1"); // Initialization of object "jb2" of JButton class. jbtn2 = new JButton("Button 2"); // Initialization of object "jb3" of JButton class. jbtn3 = new JButton("Button 3"); // Initialization of object "jb4" of JButton class. jbtn4 = new JButton("Button 4"); // Initialization of object "jb5" of JButton class. jbtn5 = new JButton("Button 5"); // Adding JButton "jb1" on JFrame panel.add(jbtn1); // Adding JButton "jb2" on JFrame panel.add(jbtn2); // Adding JButton "jb3" on JFrame panel.add(jbtn3); // Adding JButton "jb4" on JFrame panel.add(jbtn4); // Adding JButton "jb5" on JFrame panel.add(jbtn5); // Function to set the panel of JFrame. frame.add(panel); // Function to use the pack of JFrame. frame.pack(); // Function to set visible status of JFrame. frame.setVisible(true); } }
输出:
注意:上述程序可能无法在在线 IDE 中运行。请使用离线编译器。
参考: https://docs.oracle.com/javase/7/docs/api/javax/swing/BoxLayout.html
相关用法
- Java AWT BorderLayout用法及代码示例
- Java AWT Dimension用法及代码示例
- Java AWT Choice用法及代码示例
- Java AWT MenuShortcut用法及代码示例
- Java AWT SpringLayout用法及代码示例
- Java AWT Desktop用法及代码示例
- Java AWT GridBagLayout用法及代码示例
- Java AWT CardLayout用法及代码示例
- Java AWT Canvas用法及代码示例
- Java AWT GridLayout用法及代码示例
- Java AWT Color用法及代码示例
- Java ArrayList add()用法及代码示例
- Java ArrayList addAll()用法及代码示例
- Java ArrayList clear()用法及代码示例
- Java ArrayList clone()用法及代码示例
- Java ArrayList contains()用法及代码示例
- Java ArrayList get()用法及代码示例
- Java ArrayList indexOf()用法及代码示例
- Java ArrayList removeAll()用法及代码示例
- Java ArrayList remove()用法及代码示例
- Java ArrayList size()用法及代码示例
- Java ArrayList isEmpty()用法及代码示例
- Java ArrayList subList()用法及代码示例
- Java ArrayList set()用法及代码示例
注:本文由纯净天空筛选整理自Shivi_Aggarwal大神的英文原创作品 Java AWT | BoxLayout Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。