From 0952b78dee6a791dea0a7acf8b7a2af4659482e1 Mon Sep 17 00:00:00 2001
From: steyer <steyer10@gmail.com>
Date: Mon, 9 Dec 2019 13:07:58 +0100
Subject: [PATCH] GameWindow

---
 src/game/GameModel.java                 |  3 +++
 src/game/GameWindow.java                | 16 ++++++++++++--
 src/game/GameWindowButtonsListener.java | 28 +++++++++++++++++++++++++
 src/game/StartMenuButtonsListener.java  | 16 ++++++++------
 4 files changed, 55 insertions(+), 8 deletions(-)
 create mode 100644 src/game/GameWindowButtonsListener.java

diff --git a/src/game/GameModel.java b/src/game/GameModel.java
index 27bcc3f..5b2ca87 100644
--- a/src/game/GameModel.java
+++ b/src/game/GameModel.java
@@ -69,4 +69,7 @@ public class GameModel extends AbstractTableModel {
         fireTableDataChanged();
     }
 
+    public void saveToFile(){
+        //TODO save
+    }
 }
diff --git a/src/game/GameWindow.java b/src/game/GameWindow.java
index 6362611..f6c7d8a 100644
--- a/src/game/GameWindow.java
+++ b/src/game/GameWindow.java
@@ -12,18 +12,29 @@ public class GameWindow extends JFrame {
         super("Game of Life");
         this.model = model;
         table = new JTable(model);
-        table.setPreferredSize(new Dimension(300, 300)); //TODO igazodjon a táblához
+        //table.setPreferredSize(new Dimension(300, 300)); //TODO igazodjon a táblához
 
         setLayout(new BorderLayout());
         add(table, BorderLayout.CENTER);
 
         //setSize(300, 300); TODO törölni
-        setLocationRelativeTo(null);
+
 
         JPanel bottomPanel = new JPanel();
         JButton startButton = new JButton("Start");
         JButton stopButton = new JButton("Stop");
         JButton saveButton = new JButton("Save");
+
+        GameWindowButtonsListener listener = new GameWindowButtonsListener(model);
+
+        startButton.setActionCommand("start");
+        stopButton.setActionCommand("stop");
+        saveButton.setActionCommand("save");
+
+        startButton.addActionListener(listener);
+        stopButton.addActionListener(listener);
+        saveButton.addActionListener(listener);
+
         bottomPanel.add(startButton);
         bottomPanel.add(stopButton);
         bottomPanel.add(saveButton); //TODO save
@@ -32,5 +43,6 @@ public class GameWindow extends JFrame {
 
         setVisible(true);
         pack();
+        setLocationRelativeTo(null);
     }
 }
diff --git a/src/game/GameWindowButtonsListener.java b/src/game/GameWindowButtonsListener.java
new file mode 100644
index 0000000..1c9492b
--- /dev/null
+++ b/src/game/GameWindowButtonsListener.java
@@ -0,0 +1,28 @@
+package game;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+public class GameWindowButtonsListener implements ActionListener {
+
+    private GameModel model;
+
+    public GameWindowButtonsListener(GameModel model){
+        this.model = model;
+    }
+
+    public void actionPerformed(ActionEvent e) {
+
+        switch (e.getActionCommand()){
+            case "start":
+                model.start();
+                break;
+            case "stop":
+                model.stop();
+                break;
+            case "save":
+                model.saveToFile();
+                break;
+        }
+    }
+}
diff --git a/src/game/StartMenuButtonsListener.java b/src/game/StartMenuButtonsListener.java
index f728a52..208ba68 100644
--- a/src/game/StartMenuButtonsListener.java
+++ b/src/game/StartMenuButtonsListener.java
@@ -13,12 +13,16 @@ public class StartMenuButtonsListener implements ActionListener {
 
     public void actionPerformed(ActionEvent e) {
 
-        if (e.getActionCommand().equals("load")){
-            model.loadFromFile();
-        } else if (e.getActionCommand().equals("delete")){
-            model.delete();
-        } else if (e.getActionCommand().equals("start")){
-            model.startGame();
+        switch (e.getActionCommand()) {
+            case "load":
+                model.loadFromFile();
+                break;
+            case "delete":
+                model.delete();
+                break;
+            case "start":
+                model.startGame();
+                break;
         }
     }
 }
-- 
GitLab