diff --git a/src/StartupManagementWindow.java b/src/StartupManagementWindow.java index 12da34e..be396cc 100644 --- a/src/StartupManagementWindow.java +++ b/src/StartupManagementWindow.java @@ -1,10 +1,13 @@ import javax.swing.*; +import java.awt.event.*; public class StartupManagementWindow extends JFrame { private Main main; private JPanel mainPanel; public SwingPresenter presenter; + private boolean isSaved = false; + public StartupManagementWindow(Main main) { this.main = main; @@ -12,7 +15,28 @@ this.add(mainPanel); presenter = new SwingPresenter(main, mainPanel); - setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); + setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); + + addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(WindowEvent e){ + if(isSaved != true){ + int result = JOptionPane.showConfirmDialog( + StartupManagementWindow.this, + "編集中のデータが消えてしまいますが、終了してもよろしいでしょうか?", + "終了確認", + JOptionPane.YES_NO_OPTION, + JOptionPane.WARNING_MESSAGE + ); + + if(result == JOptionPane.YES_OPTION){ + dispose(); + } + } else { + dispose(); + } + } + }); setSize(1600, 900); setVisible(true); } @@ -20,4 +44,8 @@ public SwingPresenter getPresenter() { return presenter; } + + public void setSaved(boolean saved){ + this.isSaved = saved; + } }