2010-12-27 8 views
3

いいえ、私はオブジェクトのリストを持っています。私は、Modal JDialogを表示し、オブジェクトのこのリストを渡して、それらに作用させる必要があります。問題は、私が.show()を呼び出すとEDTをハイジャックすることです。理想的な状況は、リストをコンストラクターに渡すことができるようにすることです。ダイアログが表示されたら、問題の関数を実行します。 C#では、このためにLoadedイベントを使用しますが、それを行う方法はJDialogが私をエスケープします。表示されるとすぐにモーダルJDialogがコードを実行する方法

思考?

答えて

4
JDialog dialog = new JDialog(...); 
... 
dialog.addComponentListener(new ComponentAdapter() 
{ 
    public void componentShown(ComponentEvent e) 
    { 
     System.out.println("Time to do something"); 
    } 
}); 
dialog.setVisible(true); 
1
JDialog dialog = new JDialog(...); 
dialog.addWindowListener(new WindowAdaper() { 
    @Override 
    public void windowOpened(WindowEvent e) { 
     super.windowOpened(e); 
     // do something 
    } 
}); 

あなたのアイデアを得ます。

関連する問題