From 122ef4d5d1d297467fe58d8ccf190b9661f300ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Mon, 1 Mar 2021 16:08:52 +0100 Subject: quit menu button --- src/se/liu/gusso230/tetris/TetrisViewer.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/se') diff --git a/src/se/liu/gusso230/tetris/TetrisViewer.java b/src/se/liu/gusso230/tetris/TetrisViewer.java index c1e6098..4139188 100644 --- a/src/se/liu/gusso230/tetris/TetrisViewer.java +++ b/src/se/liu/gusso230/tetris/TetrisViewer.java @@ -2,8 +2,10 @@ package se.liu.gusso230.tetris; import javax.swing.*; import java.awt.*; +import java.awt.event.ActionEvent; public class TetrisViewer { + private JMenuBar menuBar; private TetrisComponent tetrisComponent; public TetrisViewer(Board board) { @@ -11,10 +13,33 @@ public class TetrisViewer { board.addListener(tetrisComponent); } + private JMenuBar setupMenuBar() { + final JMenuBar menuBar = new JMenuBar(); + final JMenu file = new JMenu("File"); + final JMenuItem quit = new JMenuItem("Quit"); + file.add(quit); + final Action quitAction = new AbstractAction() { + @Override public void actionPerformed(final ActionEvent actionEvent) { + if (JOptionPane.showConfirmDialog(null, + "Do you really want to quit?", + "", + JOptionPane.YES_NO_OPTION) + == JOptionPane.YES_OPTION) + { + System.exit(0); + } + } + }; + quit.addActionListener(quitAction); + menuBar.add(file); + return menuBar; + } + public void show() { JFrame frame = new JFrame("Tetris"); frame.setLayout(new BorderLayout()); frame.add(tetrisComponent, BorderLayout.CENTER); + frame.setJMenuBar(setupMenuBar()); frame.pack(); frame.setVisible(true); -- cgit v1.2.1