diff --git a/src/game/ExitListener.java b/src/game/ExitListener.java new file mode 100644 index 0000000000000000000000000000000000000000..c48bffeb509bf958a1d08e33fc4f904da75987b9 --- /dev/null +++ b/src/game/ExitListener.java @@ -0,0 +1,18 @@ +package game; + +import javax.swing.JFrame; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +public class ExitListener implements ActionListener { + + JFrame frame; + + public ExitListener(JFrame frame) { + this.frame = frame; + } + + public void actionPerformed(ActionEvent e) { + frame.dispose(); + } +} diff --git a/src/game/GameRunner.java b/src/game/GameRunner.java index df006630ece5cf55b3addadcf53a8609922ad1de..c94fa0bfa6295ba2cb548c750ab8c8145d9cc82c 100644 --- a/src/game/GameRunner.java +++ b/src/game/GameRunner.java @@ -34,7 +34,7 @@ public class GameRunner extends Thread { if (model != null) model.fireTableDataChanged(); try { - sleep(500); + sleep(350); } catch (InterruptedException e) { e.printStackTrace(); } diff --git a/src/game/GameWindow.java b/src/game/GameWindow.java index d184d4d99a29b19d6dfbb158017a85130d160dc6..023288d1d33f98e64e3cd956f4868726ba535a6a 100644 --- a/src/game/GameWindow.java +++ b/src/game/GameWindow.java @@ -29,24 +29,48 @@ public class GameWindow extends JFrame { JButton stopButton = new JButton("Stop"); JButton saveButton = new JButton("Save"); - GameWindowButtonsListener listener = new GameWindowButtonsListener(model); + GameWindowButtonsListener buttonListener = new GameWindowButtonsListener(model); startButton.setActionCommand("start"); stopButton.setActionCommand("stop"); - saveButton.setActionCommand("save"); - startButton.addActionListener(listener); - stopButton.addActionListener(listener); + startButton.addActionListener(buttonListener); + stopButton.addActionListener(buttonListener); saveButton.addActionListener(new SaveButtonListener(this)); bottomPanel.add(startButton); bottomPanel.add(stopButton); - bottomPanel.add(saveButton); //TODO save + bottomPanel.add(saveButton); add(bottomPanel, BorderLayout.PAGE_END); + JMenuItem startItem = new JMenuItem("Indítás"); + startItem.setActionCommand("start"); + JMenuItem stopItem = new JMenuItem("Megállítás"); + stopItem.setActionCommand("stop"); + + startItem.addActionListener(buttonListener); + stopItem.addActionListener(buttonListener); + + JMenuItem saveItem = new JMenuItem("Mentés"); + saveItem.addActionListener(new SaveButtonListener(this)); + JMenuItem speedItem = new JMenuItem("Sebesség"); //TODO befejezni + JMenuItem exitItem = new JMenuItem("Bezárás"); + exitItem.addActionListener(new ExitListener(this)); + JMenu menu = new JMenu("Menü"); + menu.add(startItem); + menu.add(stopItem); + menu.addSeparator(); + menu.add(speedItem); + menu.addSeparator(); + menu.add(exitItem); + JMenuBar menuBar = new JMenuBar(); + menuBar.add(menu); + setJMenuBar(menuBar); + setVisible(true); pack(); + setResizable(false); setLocationRelativeTo(null); } @@ -61,4 +85,9 @@ public class GameWindow extends JFrame { model.saveToFile(fileChooser.getSelectedFile()); } } + + public void dispose(){ + model.stop(); + super.dispose(); + } }