当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。