GameView.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package view;
  2. import java.awt.Color;
  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 main.Window;
  12. import model.GameModel;
  13. import model.GameStateManager;
  14. @SuppressWarnings("serial")
  15. public class GameView extends JPanel implements ActionListener{
  16. private GameModel model;
  17. private GameStateManager gsm;
  18. private Timer t;
  19. public GameView(GameModel model, GameStateManager gsm)
  20. {
  21. this.model = model;
  22. this.gsm = gsm;
  23. setBackground(Color.WHITE);
  24. t = new Timer(1000/Window.FRAMES_PER_SECOND, this);
  25. t.start();
  26. }
  27. @Override
  28. public void paintComponent(Graphics g)
  29. {
  30. super.paintComponent(g);
  31. Graphics2D g2d = (Graphics2D) g;
  32. RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  33. g2d.setRenderingHints(rh);
  34. gsm.paint(g2d);
  35. Toolkit.getDefaultToolkit().sync();
  36. }
  37. @Override
  38. public void actionPerformed(ActionEvent e) {
  39. repaint();
  40. }
  41. }