2011-12-10 8 views
0

netbeansでJava GUIアプリケーションを開発しています。ファイルを処理するウィンドウがあります(SingleFrameApplication)。このメインフレームの前にログイン画面を起動する必要があります。 新しいフレームを追加する方法、または新しいフレームのログインが正しくなるまでメインフレームを遅延させる方法を理解していない。java netbeansアプリケーションにJFrameまたはJDialogを追加する

ありがとうございます。

答えて

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

関連する問題