Java JLabel没有出现在JPanel上

Java JLabel没有出现在JPanel上,java,swing,jpanel,jlabel,Java,Swing,Jpanel,Jlabel,由于某种原因,当达到getSelector的条件等于2时(我知道事实上,由于System.out.println(“”;所以不要说没有达到该语句),达到该条件时,由于某种原因,JLabel(问题)不会出现在JPanel(面板)上。(注意:JPanel已经添加到我的JFrame中)为什么会发生这种情况,我使用了validate和repait方法。非常感谢您,并祝您7月4日快乐:-) 注意:TIMERCLASS对象的调用方法也工作正常,所以我知道这不是问题的根源 编辑:我现在已经添加了所有代码,因此

由于某种原因,当达到getSelector的条件等于2时(我知道事实上,由于System.out.println(“”;所以不要说没有达到该语句),达到该条件时,由于某种原因,JLabel(问题)不会出现在JPanel(面板)上。(注意:JPanel已经添加到我的JFrame中)为什么会发生这种情况,我使用了validate和repait方法。非常感谢您,并祝您7月4日快乐:-)

注意:TIMERCLASS对象的调用方法也工作正常,所以我知道这不是问题的根源


编辑:我现在已经添加了所有代码,因此这可能有助于回答我的问题的来源。在您的代码中,您曾试图通过
frame.add(panel)
将面板添加到JFrame。但是将组件添加到JFrame的正确方法是通过其getContentPane()方法。ie根据您的代码,它应该类似于
frame.getContentPane().add(panel)
。可以同时,您还将面板的布局设置为空。这意味着您需要手动设置要添加到此面板的组件的大小。这是因为您要添加JLabel问题,所以需要设置该问题的大小JLabel就像
问题一样。设置大小(宽度、高度)
。希望这能解决您的问题。

如果不调用panel.validate调用panel.invalidate(),会发生什么情况?1)要更快获得更好的帮助,请发布一个(最小完整的可验证示例)或(简短、自包含、正确的示例)。2) 使用如中所示的。3) 提示:添加@user3887735(或任何人,
@
很重要)以通知此人新的评论。此外,在引用其他人时,请使用@MauricioGracia或@personname,以便通知此人。您是否在事件处理程序中运行此代码?请按照安德鲁·汤普森的建议,将您的程序改写为MCVE或SSCCE。如果不能够运行和查看,就很难提供帮助。这里有一种方法可以避免您现在遇到的大多数困惑:在将JPanel/类似对象添加到主窗口(例如JFrame)之前,始终实例化、填充和验证这些对象。此后,只需打包JFrame并展示它。通过这种方式,您只需要在面板中有一个布局,而不需要重新验证您添加的每个项目。还要删除那些panel.validate()和repaint()调用。不过这并不是必须的。我用frame.getContentPane().add(面板)编辑了我的代码,但我确实知道,不调用setSize方法并不能解决我的问题,因为当我等于14时,我开始看到JLabel问题