Подтверждение выхода из программы - Java

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. Непонятки с подтверждением выхода из программы Метод:
private void winClosing(WindowEvent e){      
Object[] options = { "Да", "Нет" };
                int status = JOptionPane
                        .showOptionDialog(e.getWindow(), "Закрыть окно?", "Подтверждение выхода",
                        JOptionPane.YES_NO_OPTION,
                        JOptionPane.QUESTION_MESSAGE, null, options,options[0]);
 
                if (status == 0) {
                    e.getWindow().setVisible(false);
                    System.exit(0);
                }
                throw new UnsupportedOperationException("Not supported yet.");
   }
Вызов:
public void windowClosing(WindowEvent evt) {    
MainFrame w = new MainFrame();
w.winClosing(evt);
throw new UnsupportedOperationException("Not supported yet."); - данная строка генерируется самой IDE. Если убрать эту строку "throw new UnsupportedOperationException("Not supported yet.");",то при подтверждении выхода из программы, при нажатии "НЕТ" - все равно осуществляется выход. Если ее вернуть,то при нажатии "НЕТ" программа не закрывается, продолжает работу,,но вылазит куча ошибок:
Exception in thread "AWT-EventQueue-0" java.lang.UnsupportedOperationException: Not supported yet. at packFrames.MainFrame.winClosing(MainFrame.java:136) at packFrames.MainFrame.access$000(MainFrame.java:16) at packFrames.MainFrame$1.windowClosing(MainFrame.java:86) at java.awt.Window.processWindowEvent(Window.java:2058) at javax.swing.JFrame.processWindowEvent(JFrame.java:305) at java.awt.Window.processEvent(Window.java:2017) at java.awt.Component.dispatchEventImpl(Component.java:4891) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 5 секунды)
Не совсем понял зачем эта строка "throw new UnsupportedOperationException("Not supported yet.");",и как сделать чтобы при нажатии отмены при выборе подтверждения закрытия программы происходила именно отмена,а не закрытие.

Решение задачи: «Подтверждение выхода из программы»

textual
Листинг программы
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5