GameView.java 1.1 KB

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