Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.23 KB | None | 0 0
  1. package fr.firstihm.pack;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.Color;
  5. import java.awt.Font;
  6. import java.awt.event.ActionEvent;
  7. import java.awt.event.ActionListener;
  8.  
  9. import javax.swing.JButton;
  10. import javax.swing.JFrame;
  11. import javax.swing.JLabel;
  12. import javax.swing.JPanel;
  13.  
  14. public class Fenetre extends JFrame implements ActionListener{
  15. private Panneau pan;
  16. private JButton bouton;
  17. private JPanel container;
  18. private Bouton button;
  19. private JLabel label;
  20. private int compteur = 0, numberOfClicks = 0;
  21. private JPanel pannel;
  22. public Fenetre(){
  23. pan = new Panneau();
  24. bouton = new Bouton("stop");
  25. container = new JPanel();
  26. button = new Bouton("start");
  27. label = new JLabel("Mon Label Inutile");
  28. pannel = new JPanel();
  29. pannel.add(bouton);
  30. pannel.add(button);
  31. this.setTitle("Animation");
  32. this.setSize(300, 300);
  33. this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  34. this.setLocationRelativeTo(null);
  35. container.setBackground(Color.white);
  36. container.setLayout(new BorderLayout());
  37. container.add(pan, BorderLayout.CENTER);
  38. container.add(pannel, BorderLayout.SOUTH);
  39. Font police = new Font("Tahoma", Font.BOLD, 16);
  40. label.setFont(police);
  41. label.setHorizontalAlignment(JLabel.CENTER);
  42. label.setForeground(Color.BLUE);
  43.  
  44. button.addActionListener(this);
  45. bouton.addActionListener(this);
  46.  
  47.  
  48. container.add(label, BorderLayout.NORTH);
  49. this.setContentPane(container);
  50. this.setVisible(true);
  51. go();
  52. }
  53. private void go(){
  54. int x = pan.getPosX(), y = pan.getPosY();
  55. boolean backX = false, backY = false;
  56. while (true) {
  57. // Si la coordonnée x est inférieure à 1, on avance
  58. if (x < 1)
  59. backX = false;
  60. // Si la coordonnée x est supérieure à la taille du Panneau moins la taille du rond, on recule
  61. if (x > pan.getWidth() - 50)
  62. backX = true;
  63. // Idem pour l'axe y
  64. if (y < 1)
  65. backY = false;
  66. if (y > pan.getHeight() - 50)
  67. backY = true;
  68.  
  69. // Si on avance, on incrémente la coordonnée
  70. // backX est un booléen, donc !backX revient à écrire
  71. // if (backX == false)
  72. if (!backX)
  73. pan.setPosX(++x);
  74. // Sinon, on décrémente
  75. else
  76. pan.setPosX(--x);
  77. // Idem pour l'axe Y
  78. if (!backY)
  79. pan.setPosY(++y);
  80. else
  81. pan.setPosY(--y);
  82.  
  83. // On redessine notre Panneau
  84. pan.repaint();
  85.  
  86. try {
  87. Thread.sleep(3);
  88. } catch (InterruptedException e) {
  89. // TODO Auto-generated catch block
  90. e.printStackTrace();
  91. }
  92. }
  93.  
  94. }
  95.  
  96. @Override
  97. public void actionPerformed(ActionEvent e) {
  98. Color col = null;
  99. compteur++;
  100. numberOfClicks++;
  101. if(compteur < 4){
  102. switch(compteur){
  103. case 0:
  104. col = Color.BLACK;
  105. break;
  106. case 1:
  107. col = Color.BLUE;
  108. break;
  109. case 2:
  110. col = Color.RED;
  111. break;
  112. case 3:
  113. col = Color.GREEN;
  114. break;
  115. }}else {
  116. compteur-=6;
  117. col = Color.YELLOW ;
  118. }
  119. label.setForeground(col);
  120. label.setText("Vous avez cliqué :" + numberOfClicks);
  121.  
  122. if(e.getSource() == this.bouton){
  123.  
  124. }
  125. }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement