Window.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. package main;
  2. import java.awt.Cursor;
  3. import java.awt.GraphicsDevice;
  4. import java.awt.GraphicsEnvironment;
  5. import java.awt.Point;
  6. import java.awt.Toolkit;
  7. import java.awt.event.WindowAdapter;
  8. import java.awt.event.WindowEvent;
  9. import java.awt.image.BufferedImage;
  10. import javax.swing.JFrame;
  11. import model.GameModel;
  12. import view.GameView;
  13. import control.GameControl;
  14. import control.GameStateManager;
  15. import control.LedHandler;
  16. import control.button.ButtonHandler;
  17. import control.joystick.JoystickHandler;
  18. public class Window extends JFrame {
  19. /**
  20. *
  21. */
  22. private static final long serialVersionUID = -9222956702898533696L;
  23. public static boolean ON_RASP;
  24. public Window(boolean ON_RASP)
  25. {
  26. //Create window
  27. super("Arcade");
  28. setSize(1280, 1024);
  29. Window.ON_RASP = ON_RASP;
  30. // System.out.println(ON_RASP);
  31. //Set window close listener
  32. setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
  33. addWindowListener(new WindowAdapter(){
  34. public void windowClosing(WindowEvent e) {
  35. System.exit(0);
  36. }
  37. });
  38. //Set window to fullscreen
  39. //Create Events
  40. LedHandler led = null;
  41. if(ON_RASP) //TODO REMOVE
  42. {
  43. led = new LedHandler();
  44. GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
  45. GraphicsDevice[] devices = graphicsEnvironment.getScreenDevices();
  46. if (!devices[0].isFullScreenSupported ())
  47. {
  48. throw new UnsupportedOperationException ("Fullscreen mode is unsupported.");
  49. }
  50. devices[0].setFullScreenWindow(this);
  51. led = new LedHandler();
  52. //dissapear cursor
  53. BufferedImage cursorImg = new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB);
  54. Cursor blankCursor = Toolkit.getDefaultToolkit().createCustomCursor(cursorImg, new Point(0, 0), "blank cursor");
  55. this.setCursor(blankCursor);
  56. }
  57. ButtonHandler bth = new ButtonHandler(led);
  58. JoystickHandler jsh = new JoystickHandler();
  59. //Create Instances
  60. GameStateManager gsm = new GameStateManager();
  61. GameView view = new GameView(led,gsm);
  62. GameModel model = new GameModel(view,gsm);
  63. GameControl control = new GameControl(model, view,gsm);
  64. setContentPane(view);
  65. //Create EventListeners
  66. if(!Window.ON_RASP){
  67. addKeyListener(bth);
  68. addKeyListener(jsh);
  69. }
  70. bth.addButtonListener(control);
  71. jsh.addJoystickListener(control);
  72. //Display
  73. pack();
  74. setVisible(true);
  75. }
  76. }