1

我使用 Netbeans 的 Guy Swing Builder 创建了一个应用程序并制作了一个简单的 gui。我创建了一个 jtextfield 和一个 jlabel。jlabel 放置在 jtextfield 上,但在开始时不可见。

这是我的问题。当我运行我的应用程序时,我可以在 jtextfield 中输入文本。这没有问题。之后,我用一个按钮激活我的 jlabel。jlabel 出现(在我想要的 jtextfield 顶部)。当我停用 jlabel 时,它会消失,但我的输入文本也消失了。实际上它是隐藏的,因为当我再次选择 jtextfield 时,部分文本开始再次出现。此外,当我再次开始在 jtextfield 中编写文本时,我之前的所有文本都会再次出现。

每当我在我的 jtextfields 上显示/消失 jlabel 时,是否有某种方法可以再次更新字段或显示它们?或者这是某种错误?

我没有为此提供代码,因为我创建的简单程序不涉及高级编程。

我希望有人可以为我解决这个问题。

4

2 回答 2

0

自己已经解决了这个问题。似乎我的文本字段没有正确分层;)

于 2013-10-16T09:14:14.397 回答
0

您可能可以使用

JFrame.validate();

删除 JLabel 后刷新 UI,然后它应该正确显示 JTextField...

如果这不起作用,您还可以尝试:

JPanel.setVisible(false);

JPanel.setVisible(true);

(假设您在程序中使用 JPanel)这也会刷新您的 UI

但是,如果您添加代码会更简单,这样我们就可以看到您可能做错了什么

于 2013-10-12T00:25:48.507 回答