Java 在显示Jlabel后,输入jTextFields dissapear。

Java 在显示Jlabel后,输入jTextFields dissapear。,java,swing,jtextfield,Java,Swing,Jtextfield,我使用Netbeans的guy swing builder创建了一个应用程序并制作了一个简单的gui。 我创建了一个jtextfield和一个jlabel。jlabel放置在jtextfield上,但在开始时不可见 这是我的问题。当我运行应用程序时,我可以在jtext字段中输入文本。这是毫无问题的。之后,我用一个按钮激活我的jlabel。jlabel显示在jtextfield的顶部,这是我想要的。当我停用jlabel时,它消失了,但我的输入文本也消失了。事实上,它是隐藏的,因为当我再次选择jte

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

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

当我在jtextfields上显示jlabel/dissapear时,是否有方法再次更新字段或显示字段?或者这是某种错误

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

我希望有人能帮我解决这个问题

您可能可以使用

JFrame.validate();
要在删除JLabel后刷新UI,它应该正确显示JTextField

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

JPanel.setVisiblefalse

JPanel.setVisibletrue

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


但是,如果您添加了代码,我们就可以看到您可能做了哪些不正确的事情,这会简单得多。

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

在我们能够正确诊断之前,您需要提供一个可运行的问题示例。为什么要用jlabel覆盖jtextfield?你想完成什么?也许你可以通过使前景和背景颜色相同来实现文本的隐形,而不是覆盖组件,你可以考虑交换它们,或者使用一个卡片布局。我没有为此提供任何代码,因为该解决方案中没有高级编程