如何使模态JDialog在显示后立即执行代码

好的,我有一个对象列表。 我需要显示一个Modal JDialog,然后将它传递给对象列表并让它对它们起作用。 问题是当我调用.show()时它会劫持EDT。 理想情况是能够将列表传递给构造函数,然后在显示对话框时,执行相关函数。 在C#中我会使用Loaded事件,但如何做到这一点JDialog逃脱了我。

思考?

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

你明白了。