我有一个JPanel作为JScrollPane的视口,而JPanel有一个GridBagLayout。程序的用户将能够将行添加到JPanel,并且JPanel将相应地扩展。它扩展了所有权利,但是当它不需要扩展时,它不会按照我想要的顺序添加它们。我想实现:如何让GridBagLayout正确排列
______
|XXXXXX|
|XXXXXX|
| |
| |
| |
--------
而是我越来越:
______
|XXXXXX|
| |
|XXXXXX|
| |
| |
--------
然后:
______
|XXXXXX|
| |
|XXXXXX|
| |
|XXXXXX|
--------
一旦它运行的空间,这将扩大和JPanels正确对齐。
我试着设置weighty = 0.9
以获得所需的效果,并且我将anchor属性设置为NORTHWEST
,但是我得到了第二个结果。 GridBagLayout中可能需要的效果是什么?
我想你想'重量= 0'和/或不填充。填充和重量仅适用于您希望组件扩展以填充可用空间的情况。 – dsh
将组件对齐在一起,但现在它们被添加到JPanel的中心。有没有办法让它们锚定在顶部? (anchor现在设置为NORTHWEST) – kneedhelp
在第三行添加一个“spacer”(我使用'new JPanel()'),给它一个'weighty = 1'和'fill = VERTICAL'。这个空的面板将会展开以填充两行可见元素下方的空间。 – dsh