From c256cdfe13a5debbea269f6aa9fa677fd03b7717 Mon Sep 17 00:00:00 2001 From: Kenneth van Ewijk Date: Sun, 3 May 2015 21:42:27 +0200 Subject: [PATCH] First Commit --- main/Main.java | 9 +++++++ main/Window.java | 33 +++++++++++++++++++++++++ view/ButtonListener.java | 27 ++++++++++++++++++++ view/JoyStickListener.java | 21 ++++++++++++++++ view/Panel.java | 50 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 140 insertions(+) create mode 100644 main/Main.java create mode 100644 main/Window.java create mode 100644 view/ButtonListener.java create mode 100644 view/JoyStickListener.java create mode 100644 view/Panel.java diff --git a/main/Main.java b/main/Main.java new file mode 100644 index 0000000..79f2b30 --- /dev/null +++ b/main/Main.java @@ -0,0 +1,9 @@ +package main; + +public class Main { + + public static void main(String[] args) { + new Window(); + } + +} diff --git a/main/Window.java b/main/Window.java new file mode 100644 index 0000000..0ffc257 --- /dev/null +++ b/main/Window.java @@ -0,0 +1,33 @@ +package main; + +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; + +import javax.swing.JFrame; + +import view.Panel; + +public class Window extends JFrame { + public Window() + { + //Create window + super("Arcade"); + setSize(500,600); + + //Set window close listener + setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); + addWindowListener(new WindowAdapter(){ + public void windowClosing(WindowEvent e) { + System.exit(0); + } + }); + + //Create Instances + Panel panel = new Panel(); + setContentPane(panel); + + //Display + pack(); + setVisible(true); + } +} diff --git a/view/ButtonListener.java b/view/ButtonListener.java new file mode 100644 index 0000000..fcc9c39 --- /dev/null +++ b/view/ButtonListener.java @@ -0,0 +1,27 @@ +package view; + +import java.util.ArrayList; +import java.util.List; + +interface ButtonListener { + public void buttonPressed(); + public void buttonReleased(); +} + +class Button { + List listeners = new ArrayList(); + + public void addButtonListener(ButtonListener toAdd) { + listeners.add(toAdd); + } + + public void buttonPress() { + for (ButtonListener bt : listeners) + bt.buttonPressed(); + } + + public void buttonRelease() { + for (ButtonListener bt : listeners) + bt.buttonReleased(); + } +} diff --git a/view/JoyStickListener.java b/view/JoyStickListener.java new file mode 100644 index 0000000..03d43af --- /dev/null +++ b/view/JoyStickListener.java @@ -0,0 +1,21 @@ +package view; + +import java.util.ArrayList; +import java.util.List; + +interface JoyStickListener { + public void onJoyStickMoved(); +} + +class JoyStick { + List listeners = new ArrayList(); + + public void addJoyStickListener(JoyStickListener toAdd) { + listeners.add(toAdd); + } + + public void onJoyStickMoved() { + for (JoyStickListener yst : listeners) + yst.onJoyStickMoved(); + } +} diff --git a/view/Panel.java b/view/Panel.java new file mode 100644 index 0000000..67f3821 --- /dev/null +++ b/view/Panel.java @@ -0,0 +1,50 @@ +package view; + +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +import javax.swing.JPanel; +import javax.swing.Timer; + +public class Panel extends JPanel implements ActionListener, ButtonListener, JoyStickListener{ + + Timer t; + + public Panel() + { + //addButtonListener(this); + + t = new Timer(1000/30, this); + t.start(); + } + + public void actionPerformed(ActionEvent arg0) { + repaint(); + } + + public void paintComponent(Graphics g) + { + super.paintComponent(g); + Graphics2D g2d = (Graphics2D) g; + } + + @Override + public void buttonPressed() { + // TODO Auto-generated method stub + + } + + @Override + public void buttonReleased() { + // TODO Auto-generated method stub + + } + + @Override + public void onJoyStickMoved() { + // TODO Auto-generated method stub + + } +}