2016-10-14 15 views
1

私は、ユーザーにプログラムの実行が終了したことを知らせるクイックポップアップボックスを作るために次のコードを用意しました。ユーザーが[OK]をクリックすると、いくつかの追加イベントを処理したいと思います。特に、いくつかのドライバとSQL接続を閉じる必要があります。どうすればこれを達成できますか?この行をJframeへのイベント処理の追加ダイアログ

optionFrame.toFront(); 
optionFrame.repaint(); 

:ここ

はそれにコードがJFrameの

javax.swing.JFrame optionFrame = new javax.swing.JFrame(); 
    JOptionPane.showMessageDialog(optionFrame, "Tests Complete. Screenshots and Results can be found at C://Features"); 
    optionFrame.toFront(); 
    optionFrame.repaint(); 
    this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING)); 

答えて

0

はちょうどあなたがダイアログを表示した直後にそれを行うが、this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING));

前にも一部を除去せます(messageDialogポップアップ):

JOptionPane.showMessageDialog(optionFrame, "Tests Complete. Screenshots and Results can be found at C://Features"); 

は、ユーザーがOKをクリックするか、ポップアップで閉じるまでThreadを呼び出すでしょう。何もする必要はありません。ポップアップが消えると、この行の後のコードが実行されます。

あなたの例に基づいて、それは次のようになります。

... 
JOptionPane.showMessageDialog(optionFrame, "Tests Complete. Screenshots and Results can be found at C://Features"); 
// do your clean-up work here (probably invoke some clean up service method) 
this.dispatchEvent(new WindowEvent(this, WindowEvent.WINDOW_CLOSING)); 
+0

あなたはそれがどのように行われるかの例を与えることができますか?それを行うには別の方法が必要ですか?通常、イベントは別のメソッドで処理されますか? – Jrawr

関連する問題