限制JSpinner大小

时间:2016-04-14 16:08:25

标签: java swing

因此,如果JSpinner的值非常非常大(即很多字符),它会扩展自己的大小,并炸掉它所在面板的大小。我试过为了防止这种情况,并确保组件不会太大。

由于面板的大小根据窗口的大小和窗口中所有组件的大小动态调整,因此无法提前知道其首选大小。然而,JSpinner是唯一一个似乎爆炸的人。

在这种情况下必须使用JSpinner,不能在这里抛弃它。我已经尝试在基础编辑器的文本字段中设置列数,但是没有用。

我需要能够让JSpinner填充封闭面板的宽度,并且不要大于此值。有什么我可以选择在这里做的吗?

感谢。

1 个答案:

答案 0 :(得分:1)

覆盖微调器的getPreferredSize()方法。

我首先调用super.getPreferredSize()来获取默认值。然后你可以将宽度覆盖到一些合理的值。

Dimension d = super.getPreferredSize();
d.width = ???
return d;

您可以根据脊柱的FontMetrics来设置宽度,这样如果字体发生变化,您的宽度将会使用字体重新缩放。