summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGustav Sörnäs <gustav@sornas.net>2021-03-01 16:08:52 +0100
committerGustav Sörnäs <gustav@sornas.net>2021-03-01 16:08:52 +0100
commit122ef4d5d1d297467fe58d8ccf190b9661f300ca (patch)
treea346274b5d72a6af31aa064e7071ee333f07a3b8 /src
parent6b5d1f3b4d66eb624683c886930d0fa7f46fe7b9 (diff)
downloadtdde30-122ef4d5d1d297467fe58d8ccf190b9661f300ca.tar.gz
quit menu button
Diffstat (limited to 'src')
-rw-r--r--src/se/liu/gusso230/tetris/TetrisViewer.java25
1 files changed, 25 insertions, 0 deletions
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);