不可见的组件然后在Java中的窗格之间切换
问题是,当我在窗格之间切换时,我的按钮和文本字段变得不可见,但当我将光标拖动到组件上时,它们就会出现。 我的层次结构与此类似: JFrame不可见的组件然后在Java中的窗格之间切换,java,components,hidden,panels,Java,Components,Hidden,Panels,问题是,当我在窗格之间切换时,我的按钮和文本字段变得不可见,但当我将光标拖动到组件上时,它们就会出现。 我的层次结构与此类似: JFrame 带组件的面板 _按钮3 面板与面板 _PanelOne __按钮1 __标签1(背景) _第二小组 __标签2(背景) __按钮2 private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) {
- 带组件的面板
- _按钮3
- 面板与面板
- _PanelOne
- __按钮1
- __标签1(背景)
- _第二小组
- __标签2(背景)
- __按钮2
}private void jRadioButton1ActionPerformed(java.awt.event.ActionEvent evt) { if (jRadioButton1.isSelected()){ CardLayout cl = (CardLayout)(bottomPanel.getLayout()); cl.next(bottomPanel); }else{ CardLayout cl = (CardLayout)(bottomPanel.getLayout()); cl.next(bottomPanel); }
revalidate()
和repaint()
方法
frame.getContentPane().revalidate();
frame.getContentPane().repaint();
从容器的添加方法
注意:如果组件已添加到已显示的容器中,则必须对该容器调用validate以显示新组件。如果要添加多个组件,则可以在添加所有组件后只调用一次validate来提高效率。
从容器的删除方法中
注意:如果组件已从已显示的容器中删除,则必须对该容器调用validate(),以反映更改。如果要删除多个组件,您可以在删除所有组件后只调用一次validate(),以提高效率。
根据camickr的评论进行编辑。为了更快地获得更好的帮助,请发布一条消息。我尝试过使用它,但框架上有下划线。我知道它是JFrame,但我不知道如何将JFrame变量作为对象。然后我使用JFrame名称,它似乎不起作用。你能编辑你的问题并添加你的代码吗(至少是在窗格之间切换的部分)。我尝试过使用它,但“frame”会被下划线。我知道它是Jframe,但我无法将Jframe作为对象;getContentPane().repaint()代码>?效果很好!非常感谢你的帮助!