2014-10-01 52 views
0

我有一个错误输出的JLabel。这在开始时是空的,可以通过一些行动来填补。 但是当它是空的时候,当我打包()我的JFrame时不会注意到它。所以当我的错误标签获得内容时,我需要重新包装框架以使其可见(并且还调整了我想要避免的框架大小)。为空JLabel预留空间

目前我使用

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

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

是否有另一个清洁方式来达到我的结果?

编辑:我通过编辑setPreferredSize()我的标签的面板尺寸达到了我想要的尺寸,但我仍然有这个空间缓冲区。

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

是'lError'固定大小还是可以有太多的文本,你需要一个滚动? – 2014-10-01 11:02:06

+0

@MartinFrank滚动将不是必需的。 – Froxx 2014-10-01 11:05:02

+0

if you will right IError.setText(“”);它也会起作用。但它是空字符串,而不是空格。 – 2014-10-01 11:05:32

回答

0

这可能取决于你使用的是什么布局,但有时我不得不不只是调用了setPreferredSize也了setMinimumSize(和setMaximumSize)。

+0

我也使用过这些方法,但是我没有得到比我最近编辑的结果更清晰的结果。 – Froxx 2014-10-02 13:38:13

+0

你使用什么布局?你能为你的代码提供更多的上下文吗? – neotryte 2014-10-08 15:34:48

+0

我的pError是一个'GridBagLayout()'。 – Froxx 2014-10-09 11:33:32