簡體   English   中英

BoxLayout中可調整大小的JButton

[英]Resizeable JButton in BoxLayout

我有以下代碼:

  public void showFrame() {
    var frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    var panel = frame.getContentPane();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));

    panel.add(new Button("Button 1"));
    panel.add(new Button("Button 2"));
    panel.add(new Button("Button 3"));
    panel.add(new Button("Button 4"));
    panel.add(new JButton("Button 5"));

    frame.setSize(200, 300);
    frame.setVisible(true);
  }

生成以下表格:

呈現形式

按鈕 1 到 4(AWT 按鈕)與 window 一起調整大小。 但是按鈕 5(Swing 按鈕)的行為不同。

我希望按鈕 5 也可以調整大小。 我相信我錯過了一些東西。 有沒有一種簡單的方法可以使按鈕 5 可調整大小?

我希望按鈕 5 也可以調整大小。 我相信我錯過了一些東西。 有沒有一種簡單的方法可以使按鈕 5 可調整大小?

BoxLayout尊重組件的最小/最大尺寸。

默認情況下,對於 JButton,這些尺寸設置為首選尺寸。

如果您希望按鈕增長,您需要覆蓋按鈕的getMaximumSize()方法以返回您想要的最大值的尺寸。

正如評論中所建議的,一個更簡單的解決方案是使用GridLayout

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM