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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。