[英]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.