Window.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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.LedHandler;
  15. import control.button.ButtonHandler;
  16. import control.joystick.JoystickHandler;
  17. public class Window extends JFrame {
  18. public static boolean ON_RASP;
  19. public Window(boolean ON_RASP)
  20. {
  21. //Create window
  22. super("Arcade");
  23. setSize(1280, 1024);
  24. Window.ON_RASP = ON_RASP;
  25. System.out.println(ON_RASP);
  26. //Set window close listener
  27. setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
  28. addWindowListener(new WindowAdapter(){
  29. public void windowClosing(WindowEvent e) {
  30. System.exit(0);
  31. }
  32. });
  33. //Set window to fullscreen
  34. // setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
  35. // setUndecorated(true);
  36. GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
  37. GraphicsDevice[] devices = graphicsEnvironment.getScreenDevices();
  38. if (!devices[0].isFullScreenSupported ())
  39. {
  40. throw new UnsupportedOperationException ("Fullscreen mode is unsupported.");
  41. }
  42. devices[0].setFullScreenWindow(this);
  43. //Create Events
  44. LedHandler led = null;
  45. if(ON_RASP) //TODO REMOVE
  46. {
  47. led = new LedHandler();
  48. //dissapear cursor
  49. BufferedImage cursorImg = new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB);
  50. Cursor blankCursor = Toolkit.getDefaultToolkit().createCustomCursor(cursorImg, new Point(0, 0), "blank cursor");
  51. this.setCursor(blankCursor);
  52. }
  53. ButtonHandler bth = new ButtonHandler(led);
  54. JoystickHandler jsh = new JoystickHandler();
  55. //Create Instances
  56. GameView view = new GameView(led);
  57. GameModel model = new GameModel(view);
  58. GameControl control = new GameControl(model, view);
  59. setContentPane(view);
  60. //Create EventListeners
  61. if(!Window.ON_RASP){
  62. addKeyListener(bth);
  63. addKeyListener(jsh);
  64. }
  65. bth.addButtonListener(control);
  66. jsh.addJoystickListener(control);
  67. //Display
  68. pack();
  69. setVisible(true);
  70. }
  71. }