jav*_*top 2 java size swing dimensions layout-manager
要成功定义最小尺寸,我必须执行以下操作:
// setting minimal width AND height
Dimension min = new Dimension(100, 100);
comp.setMinimumSize(min);
comp.setPreferredSize(min);
comp.setSize(min);
Run Code Online (Sandbox Code Playgroud)
当我留下一行时它不起作用,这很奇怪,但这不是重点。
我该怎么做,以限制只有一个两个维度(宽度或高度),并让该部件和/或布局管理器自动决定对未指定的尺寸?
当我为不想限制的维度使用非常小的值时,许多组件显示错误(即太小)。
默认情况下(即如果setMinimumSize尚未在组件上调用)getMinimumSize委托给组件的布局管理器,因此您可以尝试重新定义该getMinimumSize方法如下:
public Dimension getMinimumSize()
{
return new Dimension(minWidth, super.getMinimumSize().height);
}
Run Code Online (Sandbox Code Playgroud)
如果您这样做,请记住您不应调用setMinimumSize该组件。