JLabel.setVisible(false)使其他组件的位置发生变化

时间:2011-06-15 14:45:20

标签: java swing layout-manager

我在swing应用程序中遇到了一个重新布局问题我使用GridBagLayout向面板添加了四个组件(两个JLabel,一个JTextField和一个表,每个占用一行),对于某些逻辑,我需要制作一个标签基于某些条件可见true或false,但是当我调用setVisible(false)时,此标签下面的组件会稍微出现,当我调用setVisible(true)时,它们会稍微下降,这会使GUI闪烁。是否有任何方法可以使其他组件粘在面板上?感谢。

2 个答案:

答案 0 :(得分:4)

您可以只更改默认值与""之间的文本,而不是设置标签是否可见。 Label仍将堆叠相同的高度,但不会显示任何文本。

答案 1 :(得分:1)

固定列和行的TableLayout怎么样?