我需要将JComponent
' 的宽度设置为300
或更少,但高度应该是可变的(取决于 的内容JComponent
)。
首先,我尝试使用
myComponent.setMaximumSize(300, 9999);
但是我发现这种方法完全没有效果,组件仍然会根据其内容进行扩展(至少我看不到任何效果)。
然后我尝试使用
myComponent.setPreferredSize(300, (int)myComponent.getPreferredSize().getHeight());
然后,宽度变为 300 且不小于 300。这并不完美,但可以接受。但是,现在,当组件的内容改变时,大小不会改变!这是不可接受的。
我试图找到只影响首选宽度的方法,并将高度保留为“默认”,但我没有找到那种方法。
我试图将高度设置为 0 或 -1:没有效果。
如何做到这一点?
UPD:请看图片: http: //goo.gl/3Hp59 这就是我已经实现的,但是我使用了setPreferredSize()
,这很糟糕,正如我已经意识到的那样,谢谢。
请帮我找出正确的方法:
目前我使用GridBagLayout
. 我需要使右列的宽度<= 300。(左一个,比如说,<= 200)如何使用 来实现GridBagLayout
,或者我应该使用什么布局?