Window.java 2.1 KB

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