From e19278dfec329865d1d23e63951da322deb1365c Mon Sep 17 00:00:00 2001 From: Deathsbreed Date: Tue, 27 May 2014 08:15:09 -0500 Subject: [PATCH] Trying to create menu bar. --- .gitignore | 3 +++ src/spaceshipsim/SpaceShipSim.java | 33 +++++++++++++++++++++++++----- 2 files changed, 31 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index c0628ac..1b87c67 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ # Ignore binary files bin/* + +# Just in case some .class files escape: +*.class diff --git a/src/spaceshipsim/SpaceShipSim.java b/src/spaceshipsim/SpaceShipSim.java index af843fe..8b610f0 100644 --- a/src/spaceshipsim/SpaceShipSim.java +++ b/src/spaceshipsim/SpaceShipSim.java @@ -17,21 +17,29 @@ import spaceshipsim.entities.*; * */ public class SpaceShipSim extends JFrame implements Runnable, KeyListener { - private final String version = "v0.1"; + private final String version = "v0.2"; + // Menu items + JMenuBar menuBar; + JMenu simulationMenu; + JMenuItem exitMenuItem; + + // Graphics/Framework items private Thread gameloop; private BufferedImage backbuffer; private Graphics2D g2d; private AffineTransform identity = new AffineTransform(); + // The Ship private Ship ship; // Constructor: public SpaceShipSim() { super("Space Ship Simulator"); - setSize(800, 600); - setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + setSize(800, 600); + menuSetup(); + setVisible(true); backbuffer = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB); g2d = backbuffer.createGraphics(); @@ -42,6 +50,22 @@ public class SpaceShipSim extends JFrame implements Runnable, KeyListener { start(); } + public void menuSetup() { + menuBar = new JMenuBar(); + simulationMenu = new JMenu("Simulation"); + exitMenuItem = new JMenuItem("Exit"); + + exitMenuItem.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent ae) { + stop(); + System.exit(0); + } + }); + menuBar.add(simulationMenu); + this.setJMenuBar(menuBar); + } + public void start() { gameloop = new Thread(this); gameloop.start(); @@ -95,7 +119,6 @@ public class SpaceShipSim extends JFrame implements Runnable, KeyListener { } public void keyPressed(KeyEvent ke) { - //keys[ke.getKeyCode()] = true; int keyCode = ke.getKeyCode(); if(keyCode == KeyEvent.VK_UP) { ship.setAccelerate(true); } @@ -112,4 +135,4 @@ public class SpaceShipSim extends JFrame implements Runnable, KeyListener { public void keyTyped(KeyEvent ke) {} public static void main(String[] args) { new SpaceShipSim(); } -} +} \ No newline at end of file