Advertisement
Guest User

Untitled

a guest
Oct 17th, 2019
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. package mvc.view;
  2.  
  3. import java.awt.image.BufferedImage;
  4. import java.io.File;
  5. import mvc.model.Registry;
  6. import java.io.IOException;
  7.  
  8. import java.util.Observable;
  9. import java.util.Observer;
  10.  
  11. import javax.imageio.ImageIO;
  12. import javax.swing.ImageIcon;
  13. import javax.swing.JLabel;
  14.  
  15. import model.enumeration.CoinFace;
  16. import model.interfaces.Coin;
  17. import mvc.model.Model;
  18. import mvc.model.Registry;
  19.  
  20. public class CoinView extends JLabel implements Observer{
  21. private static final String COIN_HEADS_PATH = "img/heads.png";
  22. private static final String COIN_TAILS_PATH = "img/tails.png";
  23. private final int coinNumber;
  24. private Model model;
  25.  
  26. public CoinView(int number) {
  27. coinNumber = number;
  28. model = Registry.getModel();
  29. model.addObserver(this);
  30. try {
  31. BufferedImage img = ImageIO.read(new File(COIN_HEADS_PATH));
  32. ImageIcon icon = new ImageIcon(img);
  33. setIcon(icon);
  34.  
  35. } catch (IOException e) {
  36. // TODO Auto-generated catch block
  37. e.printStackTrace();
  38. }
  39.  
  40. }
  41.  
  42. @Override
  43. public void update(Observable o, Object arg) {
  44. Model observable = (Model) o;
  45. if(arg != null) {
  46. if((int)arg == Model.PLAYER_COIN_UPDATE && observable.getCurrentCoin().getNumber() == coinNumber) {
  47. setFace(observable.getCurrentCoin().getFace());
  48. }
  49. else if((int)arg == Model.SPINNER_COIN_UPDATE && observable.getCurrentCoin().getNumber() == coinNumber){
  50. setFace(observable.getCurrentCoin().getFace());
  51. }
  52. }
  53.  
  54. }
  55.  
  56.  
  57. private void setFace(CoinFace coinface) {
  58. if(coinface == CoinFace.HEADS) {
  59. try {
  60. BufferedImage img = ImageIO.read(new File(COIN_HEADS_PATH));
  61. ImageIcon icon = new ImageIcon(img);
  62. setIcon(icon);
  63.  
  64. } catch (IOException e) {
  65. // TODO Auto-generated catch block
  66. e.printStackTrace();
  67. }
  68. }else if(coinface == CoinFace.TAILS) {
  69. try {
  70. BufferedImage img = ImageIO.read(new File(COIN_TAILS_PATH));
  71. ImageIcon icon = new ImageIcon(img);
  72. setIcon(icon);
  73.  
  74. } catch (IOException e) {
  75. // TODO Auto-generated catch block
  76. e.printStackTrace();
  77. }
  78. }
  79. }
  80.  
  81.  
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement