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