为空JLabel预留空间

时间:2014-10-01 10:56:32

标签: java swing resize jlabel pack

我有一个JLabel用于输出错误。这在开始时是空的,可以通过某些操作填充。 但是当它为空时,当我打包()我的JFrame时,它将不会被注意到。因此,当我的错误标签获得内容时,我需要重新打包我的框架以使其可见(并且还调整框架的大小,我想避免)。

目前我使用

lError.settext(" "); // set text to space as buffer content

但我对这个解决方案不满意。

是否还有其他更清晰方式来达到我的结果?

编辑:我通过使用setPreferredSize()修改标签周围面板的大小达到了我想要的效果,但我仍然有这个空间缓冲区。

pError.setPreferredSize(new Dimension(pError.getPreferredSize().width, new JLabel(" ").getPreferredSize().height));

1 个答案:

答案 0 :(得分:0)

这可能取决于您使用的是什么布局,但有时我不仅要调用setPreferredSize,还要调用setMinimumSize(和setMaximumSize)。

相关问题