Java 如何使JButton填充其父框布局
我想让JButton像JTextField一样填充父布局。那么是什么属性控制了它呢?尝试使用Java 如何使JButton填充其父框布局,java,swing,layout-manager,boxlayout,Java,Swing,Layout Manager,Boxlayout,我想让JButton像JTextField一样填充父布局。那么是什么属性控制了它呢?尝试使用边框布局来快速解决问题 JFrame frame = new JFrame(); frame.setSize(400, 300); JPanel panel = new JPanel() {{ setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); add(new JButton("button")); add(new JTextFiel
边框布局来快速解决问题
JFrame frame = new JFrame();
frame.setSize(400, 300);
JPanel panel = new JPanel() {{
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
add(new JButton("button"));
add(new JTextField("Text"));
}};
frame.setContentPane(panel);
frame.setVisible(true);
这应该对你有用
我想让JButton像JTextField一样填充父布局。那么是什么财产控制了它
BoxLayout
尊重组件的“最大尺寸”
按钮的最大大小是其“首选大小”,因此,如果希望按钮增大,则需要覆盖按钮的getMaximumSize()
方法,以返回至少与帧大小相同的尺寸
或者如您可以使用的注释中所述:
aGridLayout
使所有组件大小相同
一个GridBagLayout
,允许组件根据需要增长
阅读Swing教程中关于上述内容的部分以了解更多信息。使用GridBagLayout
,或者如果您喜欢继续保持按钮宽度的内容,则使用GridBagLayout
setLayout(new BorderLayout(0,0));
add(new JButton("button"),BorderLayout.WEST);
add(new JTextField("Text"),BorderLayout.CENTER);