我正在使用gridbaglayout,我希望我的窗口总是700 x 500。我也是我的JButtons是完全相同的大小,但如果他们内部的单词更长,他们会变得更长,我不能拥有它。我怎样才能做到这一点?请帮我提供好几个小时的代码。
我尝试做frame.setSize和panel.setSize但是既不能正常工作也需要这么快!请帮忙!
答案 0 :(得分:4)
基本答案是,你没有。这不是任何布局管理器的重点。
布局管理器简单地根据它们提供的大小提示来决定如何最好地布置它的子项。
请记住,虽然它在您的屏幕上看起来很棒,但是您运行它的下一台计算机可能会让它看起来像废话。
如果您“必须”定义任何内容的大小,则需要覆盖组件的getPreferredSize
方法并返回适当的大小提示。
话虽如此,我不会对JButton
之类的组件(或实际上除JPanel
和JComponent
之外的其他组件)执行此操作,他们计算大小的方式也很复杂且最好独自一人。
您可以使用Border
修改组件的大小,如果是GridBagLayout
,则Insets
并修改GridBagConstraints
属性。
仔细查看How to Use GridBagLayout以获取更多想法