如何在 Java 中設定 BoxLayout 管理器的首選大小?


在這篇文章中,我們將學習如何在使用BoxLayout 管理器JFrame 中設定面板的首選大小,在Java Swing中。透過設定面板的首選大小和最大大小,我們可以控制佈局的外觀,確保面板在新增其他元件時保持一致的大小。當以結構化格式垂直或水平排列元素且具有特定大小要求時,此方法非常有用。

設定 BoxLayout 管理器首選大小的步驟

以下是設定 Java 中 BoxLayout 管理器首選大小的步驟:

  • 首先,我們將從 java.awtjava.swing 包匯入必要的類。
  • 透過建立JFrame並將其佈局設定為BoxLayout(使用垂直排列(BoxLayout.Y_AXIS))來初始化框架和佈局
  • 透過初始化JPanel和幾個JButton 元件來建立面板和按鈕。將按鈕新增到面板中。
  • 設定面板大小和對齊方式,為此使用setPreferredSize()setMaximumSize()來設定面板的首選大小和最大大小。為了保持一致的位置,將對齊方式設定為LEFT_ALIGNMENT
  • 面板新增到框架中,方法是將面板新增到框架的內容窗格並設定框架大小。
  • 最後,我們將框架可見性設定為 true 以顯示佈局。

設定 BoxLayout 管理器首選大小的 Java 程式

以下是設定 Java 中 BoxLayout 管理器首選大小的示例:

package my;
import java.awt.Component;
import java.awt.Dimension;
import javax.swing.BorderFactory;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class SwingDemo {
   public static void main(String[] args) {
      JFrame frame = new JFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.getContentPane().setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
      JPanel panel = new JPanel();
      JButton btn1 = new JButton("One");
      JButton btn2 = new JButton("Two");
      JButton btn3 = new JButton("Three");
      JButton btn4 = new JButton("Four");
      JButton btn5 = new JButton("Five");
      panel.add(btn1);
      panel.add(btn2);
      panel.add(btn3);
      panel.add(btn4);
      panel.add(btn5);
      panel.setAlignmentX(Component.LEFT_ALIGNMENT);
      panel.setPreferredSize(new Dimension(100, 500));
      panel.setMaximumSize(new Dimension(100, 500));
      panel.setBorder(BorderFactory.createTitledBorder("demo"));
      frame.getContentPane().add(panel);
      frame.setSize(550, 300);
      frame.setVisible(true);
   }
}

輸出

程式碼說明

在上面的程式碼中,我們建立了一個具有垂直BoxLayout(垂直排列元件)的JFrame。然後,我們新增一個包含五個JButton元件(btn1btn5)的JPanel,這些元件都向左對齊。setPreferredSize()setMaximumSize()方法固定了面板的大小,使其保持穩定。添加了標題邊框以進行組織,並且框架設定為可見,並具有指定的尺寸,顯示面板以及整齊排列的按鈕。

更新於:2024年10月29日

1K+ 閱讀量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.