3

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

考え?

4

2 に答える 2

4
JDialog dialog = new JDialog(...);
...
dialog.addComponentListener(new ComponentAdapter()
{
    public void componentShown(ComponentEvent e)
    {
        System.out.println("Time to do something");
    }
});
dialog.setVisible( true );
于 2010-12-28T02:00:57.663 に答える
1
JDialog dialog = new JDialog(...);
dialog.addWindowListener(new WindowAdaper() {
    @Override
    public void windowOpened(WindowEvent e) {
        super.windowOpened(e);
        // do something
    }
});

あなたはアイデアを得る。

于 2010-12-28T08:14:36.767 に答える