我使用2行6列的网格布局。第一列是标签,第二列是组合。我的问题是Java布局管理器
根据标签大小组合框的大小也增加。 我想要一个稳定的组合大小?我应该使用哪种布局? 我要像
* LABEL1设计:COMBO1标签2:combo2 LABEL3:combo3 label4:text1的label5:文本2 label6:文字3 *
我使用2行6列的网格布局。第一列是标签,第二列是组合。我的问题是Java布局管理器
根据标签大小组合框的大小也增加。 我想要一个稳定的组合大小?我应该使用哪种布局? 我要像
* LABEL1设计:COMBO1标签2:combo2 LABEL3:combo3 label4:text1的label5:文本2 label6:文字3 *
为GridLayout
您可以使用JComboBox#setPrototypeDisplayValue,那么你可以为JComboBox
在屏幕上非常confortly设置初始大小
您可以使用SpringLayout
或GridBagLayout
使用今天的定制LayoutManagers
为例如MigLayout
是
有关选择正确的01的通知,一切都取决于如果内容应该或不应该是可调整大小与容器
遍历所有的标签和设定的最大尺寸的所有其中。
Label 1 |________________|
Label Label 2 |________________|
Label Label Label 3 |________________|
Label 1 |________________|
“set .. size”是什么意思?通常情况下,代码没有什么作用,因为它是LayoutManager的任务......正如你所知道的那样;-) – kleopatra 2012-08-02 09:18:56
在GridLayout
所有瓷砖都有相同的大小。
您应该考虑使用GridBagLayout
。您还需要为每个GUI元素使用GridBagConstraints
来指定其位置。
如果您必须亲手编写布局代码并且使用第三方库没有任何问题,您可以试试Miglayout。
您也可以使用图形编辑器来布置您的面板。有两种免费的工具可以做一份体面的工作(我知道):NetBeans和Eclipse WindowBuilder。
你可以使用一个GridBagLayout的,设置GridBagConstrints.fill到水平的组合框
combo3所有其他完后,放置在新行 – Siddhu 2012-08-02 08:12:01
简单(尽管可能不是你想听到的那个:-)答案是:了解哪个LayoutManager做什么,然后选择哪一个满足你的要求。 Swing标签中引用的教程有关于布局的章节。 – kleopatra 2012-08-02 09:16:55