2016-04-30 3 views
1

Есть ли способ сказать, если диалог был закрыт в Java, вот медведь минимальный код:Как проверить, закрыт ли диалог?

JFrame jframe = new JFrame(); 
Dialog dialog = new Dialog(jframe); 
JButton jbutton = new JButton("Press to stuff"); 

jframe.add(jbutton); 

jbutton.addActionListener((e)->{ 

    methodStuff(dialog); 
    //stuff to do after dialog has been closed 
} 

И где-то в этом так называемом «methodStuff»

... 
dialog.dispose(); 
... 

Как я могу проверить что эта строка: "dialog.dispose();" получилось? Это возможно?

ответ

0

Добавить окно слушателя и адаптер окна для отслеживания этого

0

В простом способе, просто держать логическое значение в родительском классе и просто изменить свой статус (истина или ложь) для диалога. Eg- Измените значение на true, когда появится диалоговое окно и измените значение на false непосредственно перед dispose();.

1

Вы должны добавить слушателя к диалогу и поместить код, который вы хотите выполнить внутри метода коррекции ...

Пример:

JFrame jframe = new JFrame(); 
Dialog dialog = new Dialog(jframe); 
JButton jbutton = new JButton("Press to stuff"); 
dialog .addWindowListener(new java.awt.event.WindowAdapter() { 
    @Override 
    public void windowClosing(java.awt.event.WindowEvent windowEvent) { 
      //your code here!!! 
    } 
}); 
+0

спасибо так много, однако по какой-то причине windowClosing не работает, поэтому я нашел приложение WindowAdapter javadoc и решил использовать windowClosed, который работал просто отлично –

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