我正在用netbeans 7开发一个Java GUI应用程序,我有一个处理文件的窗口(SingleFrameApplication),并且需要在此主框架之前启动登录屏幕,
我不明白如何添加新框架,或如何延迟主框架,直到正确登录新框架为止。

提前致谢。

最佳答案

我解决类似问题的方法是在主框架上附加一个窗口侦听器,以显示模式确认对话框。

然后,如果确认对话框,但登录错误,则可以重新显示它。如果取消,则可以关闭该应用程序。

   JPanel loginPanel = new LoginPanel();

   this.getFrame().addWindowListener(new WindowAdapter() {

        public void showLoginDialog()
        {
           int result = JOptionPane.showConfirmDialog(
                       mainView.getFrame(),
                       loginPanel, "Login... ",
                       JOptionPane.OK_CANCEL_OPTION,
                       JOptionPane.PLAIN_MESSAGE,
                       null);
          if (result == JOptionPane.OK_OPTION)
          {
             if(!loginPanel.checkLogin())
             {
                 showLoginDialog();
             }
          }
          else
          {
             System.exit(0); // replace with your more graceful shutdown code
          }
        }

        @Override
        public void windowOpened(WindowEvent e)
        {
           showLoginDialog();
        }

    });

10-04 16:07