2011-12-10 80 views
0

我正在NetBeans 7中開發一個Java GUI應用程序,我有一個處理文件的窗口(SingleFrameApplication),並且需要在此主框架之前啓動登錄屏幕,我不喜歡不理解如何添加新框架,或者如何延遲主框架,直到在新框架中登錄爲止。將JFrame或JDialog添加到Java NetBeans應用程序

在此先感謝。

回答

2

我解決類似問題的方法是在主框架上附加一個窗口監聽器,它顯示一個模態確認對話框。

然後如果確認對話框但登錄錯誤,您可以重新顯示它。如果它被取消,您可以關閉應用程序。

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(); 
     } 

    }); 
+0

感謝您的回答,我要檢查一下 – Herman