Bonjour, je souhaiterais interagir avec une animation que j'ai créer afin de m’entraîner dans le langage Java. Voici exactement à quoi ressemble le programme.

Nom : sdz62.png
Affichages : 102
Taille : 10,8 Ko

Ce que je souhaiterais faire avec ce programme c'est dès lors que je click sur la "balle" une Dialog box s'ouvre envoyant un message.

Je me doute que cela s'effectue grâce aux MouseListener.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
 
public class Fenetre3 extends JFrame implements MouseListener{
  /**
     *
     */
 
    private static final long serialVersionUID = 1L;
 
    private Pananimation pan2 = new Pananimation();
 
  private JButton btnnext2 = new JButton("NEXT");
  private JPanel container2 = new JPanel();
 
  public Fenetre(){
    this.setTitle("Appli");
    this.setSize(300, 300);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setLocationRelativeTo(null);
    container2.setBackground(Color.white);
    container2.setLayout(new BorderLayout());
    container2.add(pan2, BorderLayout.CENTER);
    container2.add(btnnext2, BorderLayout.SOUTH);
    this.setContentPane(container2);
    this.setVisible(true);   
    go(); 
 
    this.addMouseListener(this);
  }
 
  private void go(){ 
    //Les coordonnées de départ de notre rond
    int x = pan2.getX(), y = pan2.getY();
    //Le booléen pour savoir si l'on recule ou non sur l'axe x
    boolean backX = false;
    //Le booléen pour savoir si l'on recule ou non sur l'axe y
    boolean backY = false;
    try {
        // Pause pour simuler un traitement
        Thread.sleep(100);
    } catch (InterruptedException e) {}
 
 
    //Dans cet exemple, j'utilise une boucle while
    //Vous verrez qu'elle fonctionne très bien
    while(true){
      //Si la coordonnée x est inférieure à 1, on avance
      if(x < 1)backX = false;
      //Si la coordonnée x est supérieure à la taille du Panneau moins la taille du rond, on recule
      if(x > pan2.getWidth()-50)backX = true;
      //Idem pour l'axe y
      if(y < 1)backY = false;
      if(y > pan2.getHeight()-50)backY = true;
 
      //Si on avance, on incrémente la coordonnée
      if(!backX)
        pan2.setPosX(++x);
      //Sinon, on décrémente
      else
        pan2.setPosX(--x);
      //Idem pour l'axe Y
      if(!backY)
        pan2.setPosY(++y);
      else
        pan2.setPosY(--y);
 
      //On redessine notre Panneau
      pan2.repaint();
 
      //Comme on dit : la pause s'impose ! Ici, trois millièmes de seconde
      try {
        Thread.sleep(1);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
      btnnext2.addActionListener(new ActionListener(){
 
        @Override
        public void actionPerformed(ActionEvent e) {
                dispose();
                Fenetre4 fen4 = new Fenetre4(
                        );
            }  
    });
    }
  }
 
@Override
public void mouseClicked(MouseEvent e) {
    JOptionPane.showMessageDialog(null," mouseClicked ","Information",JOptionPane.INFORMATION_MESSAGE);<br>
}
 
@Override
public void mousePressed(MouseEvent e) {
    JOptionPane.showMessageDialog(null,"mousePressed","Information",JOptionPane.INFORMATION_MESSAGE);
 
}
 
@Override
public void mouseReleased(MouseEvent e) {
    // TODO Auto-generated method stub
 
}
 
@Override
public void mouseEntered(MouseEvent e) {
    // TODO Auto-generated method stub
 
}
 
@Override
public void mouseExited(MouseEvent e) {
    // TODO Auto-generated method stub
 
}
Si quelqu'un peut m'aider ce serait sympa !