Window.java 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package main;
  2. import java.awt.GraphicsDevice;
  3. import java.awt.GraphicsEnvironment;
  4. import java.awt.event.WindowAdapter;
  5. import java.awt.event.WindowEvent;
  6. import javax.swing.JFrame;
  7. import model.GameModel;
  8. import view.GameView;
  9. import control.GameControl;
  10. import control.LedHandler;
  11. import control.button.ButtonHandler;
  12. import control.joystick.JoystickHandler;
  13. public class Window extends JFrame {
  14. public static boolean ON_RASP;
  15. public Window(boolean ON_RASP)
  16. {
  17. //Create window
  18. super("Arcade");
  19. setSize(1280, 1024);
  20. Window.ON_RASP = ON_RASP;
  21. System.out.println(ON_RASP);
  22. //Set window close listener
  23. setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
  24. addWindowListener(new WindowAdapter(){
  25. public void windowClosing(WindowEvent e) {
  26. System.exit(0);
  27. }
  28. });
  29. //Set window to fullscreen
  30. // setExtendedState(getExtendedState() | JFrame.MAXIMIZED_BOTH);
  31. // setUndecorated(true);
  32. GraphicsEnvironment graphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
  33. GraphicsDevice[] devices = graphicsEnvironment.getScreenDevices();
  34. if (!devices[0].isFullScreenSupported ())
  35. {
  36. throw new UnsupportedOperationException ("Fullscreen mode is unsupported.");
  37. }
  38. devices[0].setFullScreenWindow(this);
  39. //Create Events
  40. LedHandler led = null;
  41. if(ON_RASP) //TODO REMOVE
  42. {
  43. led = new LedHandler();
  44. }
  45. ButtonHandler bth = new ButtonHandler(led);
  46. JoystickHandler jsh = new JoystickHandler();
  47. //Create Instances
  48. GameView view = new GameView(led);
  49. GameModel model = new GameModel(view);
  50. GameControl control = new GameControl(model, view);
  51. setContentPane(view);
  52. //Create EventListeners
  53. if(!Window.ON_RASP){
  54. addKeyListener(bth);
  55. addKeyListener(jsh);
  56. }
  57. bth.addButtonListener(control);
  58. jsh.addJoystickListener(control);
  59. //Display
  60. pack();
  61. setVisible(true);
  62. }
  63. }