Java 当我打开其他面板时,需要保持主框架上的文本框和菜单栏可见,然后重新打开主框架
我有一个带有菜单栏的主JFrame,一个带有信息的jPanel,在主框架中有一个文本框。我正在尝试打开其他面板,但是主菜单栏和主框架中的文本框仍然显示在新面板上。当我打开一个新面板时,我得到的是菜单栏,而不是主框架上的文本框。另外,当我试图通过关闭新面板来重新打开主框架时,我只会在主框架中获得菜单栏、主jpanel,而不会获得文本框。这是我的密码。我不知道为什么我不让主框架主面板下面的文本框再次显示。任何帮助都将不胜感激Java 当我打开其他面板时,需要保持主框架上的文本框和菜单栏可见,然后重新打开主框架,java,swing,jframe,jpanel,Java,Swing,Jframe,Jpanel,我有一个带有菜单栏的主JFrame,一个带有信息的jPanel,在主框架中有一个文本框。我正在尝试打开其他面板,但是主菜单栏和主框架中的文本框仍然显示在新面板上。当我打开一个新面板时,我得到的是菜单栏,而不是主框架上的文本框。另外,当我试图通过关闭新面板来重新打开主框架时,我只会在主框架中获得菜单栏、主jpanel,而不会获得文本框。这是我的密码。我不知道为什么我不让主框架主面板下面的文本框再次显示。任何帮助都将不胜感激 private void MenuItem_caseOpenActionP
private void MenuItem_caseOpenActionPerformed(java.awt.event.ActionEvent evt){
caseNewPanel = new CaseNewPanel();
this.setContentPane(caseNewPanel);
this.setTitle("Case Menu");
this.setSize(1200,800);
this.setBounds(5, 5, 1200, 800);
this.invalidate(); this.validate();
this.repaint();
}
private void jButton_exitMouseClicked(java.awt.event.MouseEvent evt) {
System.exit(0);
}
private void jMenuItem_caseCloseActionPerformed(java.awt.event.ActionEvent evt) {
this.getContentPane().removeAll();
mainMenuFrame = new MainMenuFrame();
this.setContentPane(mainMenuFrame.jPanel_mainMenu);
mainMenuFrame.jPanel_mainMenu.setVisible(true);
this.setSize(567,304);
this.setBounds(300, 300, 567,304);
this.invalidate(); this.validate();
this.repaint();
}
当我打开一个新面板时,我得到的是菜单栏,而不是主框架上的文本框
对。Swing组件只能有一个父组件
对于此问题,您应该使用具有CardLayout的面板,以便轻松切换面板
因此,您需要:
对于选项2,请查看上的Swing教程中的部分。在本例中,JComboBox是公共组件(不是JTextField),但概念是相同的。谢谢;我会看一看并尝试一下。