GameView.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package view;
  2. import java.awt.Dimension;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.RenderingHints;
  6. import java.awt.Toolkit;
  7. import java.awt.event.ActionEvent;
  8. import java.awt.event.ActionListener;
  9. import javax.swing.JPanel;
  10. import javax.swing.Timer;
  11. import control.GameStateManager;
  12. import control.LedHandler;
  13. public class GameView extends JPanel implements ActionListener{
  14. /**
  15. *
  16. */
  17. private static final long serialVersionUID = 1939480784205689618L;
  18. Timer t;
  19. LedHandler led;
  20. GameStateManager gsm;
  21. public GameView(LedHandler led,GameStateManager gsm)
  22. {
  23. this.led=led;
  24. this.gsm = gsm;
  25. t = new Timer(1000/60, this);
  26. t.start();
  27. setPreferredSize(new Dimension(1280,1024));
  28. }
  29. public void actionPerformed(ActionEvent arg0) {
  30. repaint();
  31. }
  32. @Override
  33. public void paintComponent(Graphics g)
  34. {
  35. super.paintComponent(g);
  36. Graphics2D g2d = (Graphics2D) g;
  37. RenderingHints rh = new RenderingHints(
  38. RenderingHints.KEY_ANTIALIASING,
  39. RenderingHints.VALUE_ANTIALIAS_ON);
  40. g2d.setRenderingHints(rh);
  41. gsm.currentState.draw(g2d);
  42. Toolkit.getDefaultToolkit().sync();
  43. }
  44. }