Я хочу вызвать метод confirmExit()
при нажатии красной кнопки закрытия строки заголовка JFrame.
Как я могу запечатлеть это событие?
Я также хотел бы предотвратить закрытие окна, если пользователь решит не продолжать.
java
swing
jframe
windowlistener
алксцил
источник
источник
implements WindowListener
чтобы этот код работал? Если да, было бы неплохо включить это в ответ. В остальном это элегантное решение.тоже работает. Сначала создайте JFrame под названием frame, затем добавьте этот код под ним.
источник
confirmExit()
метод, как хотелось бы OPconfirmExit()
когда щелкают [X]». И предыдущий комментарий не имеет отношения к OQ.Это может сработать:
jdialog.addWindowListener(new WindowAdapter() { public void windowClosed(WindowEvent e) { System.out.println("jdialog window closed event received"); } public void windowClosing(WindowEvent e) { System.out.println("jdialog window closing event received"); } });
Источник: https://alvinalexander.com/java/jdialog-close-closing-event
источник
Это то, что я поставил в качестве пункта меню, где я сделал кнопку
JFrame
для отображения другойJFrame
. Я хотел, чтобы была видна только новая рамка, а не разрушать ту, что за ней. Первую я изначально спряталJFrame
, а новая стала видна. После закрытия новогоJFrame
я избавился от него, а затем снова сделал старый видимым.Примечание. Следующий код расширяет ответ Равинды и
ng
представляет собойJButton
:ng.addActionListener((ActionEvent e) -> { setVisible(false); JFrame j = new JFrame("NAME"); j.setVisible(true); j.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent windowEvent) { setVisible(true); } }); });
источник
Попробуй это:
Это будет работать.
источник