我有一个JLabel用于输出错误。这在开始时是空的,可以通过某些操作填充。 但是当它为空时,当我打包()我的JFrame时,它将不会被注意到。因此,当我的错误标签获得内容时,我需要重新打包我的框架以使其可见(并且还调整框架的大小,我想避免)。
目前我使用
lError.settext(" "); // set text to space as buffer content
但我对这个解决方案不满意。
是否还有其他更清晰方式来达到我的结果?
编辑:我通过使用setPreferredSize()
修改标签周围面板的大小达到了我想要的效果,但我仍然有这个空间缓冲区。
pError.setPreferredSize(new Dimension(pError.getPreferredSize().width, new JLabel(" ").getPreferredSize().height));
答案 0 :(得分:0)
这可能取决于您使用的是什么布局,但有时我不仅要调用setPreferredSize,还要调用setMinimumSize(和setMaximumSize)。