JLabels不显示

时间:2012-02-21 15:53:49

标签: java swing jpanel jlabel

所以我有一个面板,根据用户输入,他们填充了x个jlabels。现在问题是,当用户输入信息时,标签成功填充,但它们在面板中无法正确显示;他们甚至没有表现出来。

只有当我调整框架大小时才会出现?

3 个答案:

答案 0 :(得分:1)

我做了Swing编程已经有一段时间了,我想要在添加组件后记住容器上的方法。我认为这是revalidate()

答案 1 :(得分:1)

通常你必须打电话:

JPanel yourPanel = new JPanel();
yourPanel.repaint();
yourPanel.validate();

答案 2 :(得分:0)

invalidate标记组件需要尽快重新启动,因为组件或其中一个子组件已调整大小或变得可见或不可见。当添加/删除子组件时,会自动在组件上调用invalidate

validate检查容器是否有效,如果没有,则调用doLayout或invalidateTree来计算子组件的位置和大小。如果需要,validate可以有效地重做布局,决定容器中所有组件的新大小和位置。

在容器中添加/删除组件后,必须在父级上调用validate以使LayoutManager重做布局。致电validate并未安排重新投放,因此您可能需要在repaint之后致电validate