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