我有以下代碼:
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 按鈕)與視窗一起調整大小。但是按鈕 5(Swing 按鈕)的行為不同。
我希望按鈕 5 也可以調整大小。我相信我錯過了一些東西。有沒有一種簡單的方法可以使按鈕 5 可調整大小?
uj5u.com熱心網友回復:
我希望按鈕 5 也可以調整大小。我相信我錯過了一些東西。有沒有一種簡單的方法可以使按鈕 5 可調整大小?
BoxLayout
尊重組件的最小/最大尺寸。
默認情況下,對于 JButton,這些尺寸設定為首選尺寸。
如果您希望按鈕增長,您需要覆寫getMaximumSize()
按鈕的方法以回傳您想要的最大值的尺寸。
正如評論中所建議的,一個更簡單的解決方案是使用GridLayout
.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/508245.html