我正在摇摆中申请。我有20多个jpanel。我想显示我想显示的那个 jpanel:
例子:
WelcomePanel welcomePanel = new WelcomePanel();
BindingDetailsPanel bindingDetailsPanel = new BindingDetailsPanel();
FooterMainPanel footerMainPanel = new FooterMainPanel();
KeyMessageSetupPanel keyMessageSetupPanel = new KeyMessageSetupPanel();
SMSCSetupPanel sMSCSetupPanel = new SMSCSetupPanel();
LiveProcessorDetailsPanel runTimePanel = new LiveProcessorDetailsPanel();
RuntTimeInformationPanel welcomePanel=new RuntTimeInformationPanel();
BlockedSmscDetailsPanel blockedSmscDetailsPanel = new BlockedSmscDetailsPanel();
我在我的主 jFrame 中制作上面列出的面板的对象。它工作正常
因为:
public mainFrame(){
requestResponseReportPanel.setVisible(false);
keyMessageSetupPanel.setVisible(false);
sMSCSetupPanel.setVisible(false);
welcomePanel.setVisible(true);
keyMessageDetailsPanel.setVisible(false);
blockedSmscDetailsPanel.setVisible(false);
runTimePanel.setVisible(false);
}
当我的应用程序第一次启动时,它只会显示一个我正在显示的面板欢迎面板,welcomePanel.setVisible(true);
如果我点击它应该显示菜单,keyMessageSetupPanel
下面是显示此面板的代码:
private void keyMessageSetupMenuItemActionPerformed(java.awt.event.ActionEvent evt) {
try {
mainFrameContentPanel.add(keyMessageSetupPanel, BorderLayout.CENTER);
keyMessageSetupPanel.setVisible(true);
sMSCSetupPanel.setVisible(false);
welcomePanel.setVisible(false);
homeButton.setVisible(true);
bindingDetailsPanel.setVisible(false);
requestResponseReportPanel.setVisible(false);
keyMessageDetailsPanel.setVisible(false);
blockedSmscDetailsPanel.setVisible(false);
} catch (Exception e) {
printStackTrace();
}
}
我的问题是,如果我这样使用我的应用程序是否正常工作。但它会在运行时加载所有面板,并且需要很长时间才能加载。如果我不喜欢它会显示,并且如果我通过单击 (或)welcomePanel
转到另一个面板:menu
button
示例:
- 欢迎面板显示
- 我去了
keyMessageSetupPanel
(这工作正常) - 现在我去了
bindingDetailsPanel
(它有效) - 但问题是我想再次
keyMessageSetupPanel
(它不隐藏bindingDetailsPanel
)。
已编辑这是显示的代码bindingDetailsPanel
mainFrameContentPanel.add(bindingDetailsPanel, BorderLayout.CENTER);
bindingDetailsPanel.setVisible(true);
keyMessageSetupPanel.setVisible(false);
sMSCSetupPanel.setVisible(false);
welcomePanel.setVisible(false);
homeButton.setVisible(true);
requestResponseReportPanel.setVisible(false);
keyMessageDetailsPanel.setVisible(false);
blockedSmscDetailsPanel.setVisible(false);
请帮我。 注意如果您不理解您不理解我的问题的评论,我将尝试解释。
谢谢