3

好的,我有一个对象列表。我需要显示一个模态 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 回答