В этой программе я сталкиваюсь с двумя проблемами, когда закрываю JDialog
диалоговое окно не закрывается должным образом, как EXIT_ON_CLOSE
. И как присвоить заголовок этому диалоговому окну.
Код
public class Dialog extends JDialog{
public Dialog(){
setSize(300,200);
setLocationRelativeTo(null);
setVisible(true);
}
}
Основной метод
public class Main {
public static void main(String[] args) {
Dialog frame = new Dialog();
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int result = JOptionPane.showConfirmDialog(frame, "Are you sure you want to exit the application? ",
"EXIT Application", JOptionPane.YES_NO_OPTION);
if (result == JOptionPane.YES_OPTION)
System.exit(0);
else if (result == JOptionPane.NO_OPTION) {
frame.setDefaultCloseOperation(frame.DO_NOTHING_ON_CLOSE);
}
}
});
}
}
EXIT_ON_CLOSE
завершает работу всей вашей программы,DISPOSE_ON_CLOSE
в этом случае просто удаляет диалог. Это не похоже на вызовsetVisible(false)
, потому что вы больше не можете использовать тот же диалог после его удаления. - person Lukas Rotter   schedule 15.09.2015WindowListener
переопределение методаwindowClosing
может достичь этого, вызвавSystem.exit(0);
внутри него. Для JDialog нетEXIT_ON_CLOSE
. - person Lukas Rotter   schedule 15.09.2015