當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java AWT BoxLayout用法及代碼示例


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



相關用法


注:本文由純淨天空篩選整理自Shivi_Aggarwal大神的英文原創作品 Java AWT | BoxLayout Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。