2010-12-27 1 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 
    } 
}); 

Вы получаете идею.

 Смежные вопросы

  • Нет связанных вопросов^_^