java - JComponent:如何设置最大宽度?

标签 java swing size jcomponent

我需要使 JComponent 的宽度为 300 或更小,但高度应该是可变的(取决于 JComponent 的内容) .

首先,我尝试使用

myComponent.setMaximumSize(300, 9999);

但我发现这个方法完全没有效果,组件仍然会根据其内容进行扩展(至少我看不到任何效果)。

然后我尝试使用

myComponent.setPreferredSize(300, (int)myComponent.getPreferredSize().getHeight());

然后,width 变为 300 且不小于 300。这并不完美,但可以接受。但是,现在,当组件的内容发生变化时,大小不会改变!这是 Not Acceptable 。

我试图找到只影响首选宽度的方法,并将高度保留为“默认值”,但我没有找到那种方法。

我尝试将高度设置为 0 或 -1:无效。

如何实现?


UPD:请看图:http://goo.gl/3Hp59这就是我已经实现的,但我使用了 setPreferredSize(),这很糟糕,正如我已经意识到的,谢谢。

请帮我找出正确的方法:

目前我使用GridBagLayout。我需要使右栏的宽度 <= 300。(例如,左栏的宽度 <= 200)如何使用 GridBagLayout 实现这一点,或者我应该改用什么布局?

最佳答案

使用GroupLayout .它有一些最好的尺寸控制。 GroupLayout 看起来有点吓人,但提供的示例非常好。如果您希望允许用户调整屏幕大小,则特别有用。

关于java - JComponent:如何设置最大宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14199663/

相关文章:

java - 如何使用 Rally API 通过 Java 客户端获取子用户故事?

Java GUI 布局问题

java - 类-图形-drawString()

Java-计算直到某个数字的所有偶数的总和

string - 在JavaFX 2中计算单行文本尺寸

button - 如何设置按钮的大小Xamarin

android - 如何在多窗口模式下获取窗口宽度 Android 7?

java - 如何使用区域选择构建 map ?

java - GWT 开发的当前状态是什么?

java - 动态字段 thymeleaf 列表迭代