我有一个JPanel作为JScrollPane的视口,而JPanel有一个GridBagLayout。该程序的用户将能够向JPanel添加行,并且JPanel将相应地扩展。它可以全部扩展,但是当不需要扩展时,它不会按照我想要的顺序添加它们。我正在努力实现:
______
|XXXXXX|
|XXXXXX|
| |
| |
| |
--------
但是相反,我得到了:
______
|XXXXXX|
| |
|XXXXXX|
| |
| |
--------
然后:
______
|XXXXXX|
| |
|XXXXXX|
| |
|XXXXXX|
--------
一旦空间用完,它将展开并且JPanels正确对齐。
我尝试将
weighty = 0.9
设置为想要的效果,并且将anchor属性设置为NORTHWEST
,但是得到了第二个结果。在GridBagLayout中是否可以达到预期的效果? 最佳答案
至少一个组件需要一个weighty=1
,因此请在末尾添加一个weighty=1
分隔项。所有其他组件应具有weighty=0
。否则,GridBagLayout
不知道如何分配剩余空间并将其平均分配给所有组件。