Le Jeudi 14 Novembre 2002 18:24, Eric MOREL a �crit :
> Bonjour,
>
> J'ai du mal � comprendre ce qui se passe avec le code suivant (jdk 1.1.8).
>
Sur la foi de ce que tu nous pr�sentes... Rien !
En effet, ta frame serait �galement un MouseListener, mais � aucun moment tu
ne l'enregistres aupr�s d'emetteur d'�v�nement souris. Donc il ne se passe
rien.
D'une fa�on g�n�rale, il vaut mieux utiliser le package swing pour faire les
IHM, m�me avec java 1.1.8. Cette r�gle n'a qu'une exception, c'est lorsque tu
veux faire des applets.
> public class Repertoire extends Frame implements MouseListener {
> private static final PopupMenu _groupePU = new PopupMenu();
> private static final MyButton _groupeB = new MyButton("nomImage");
> ....
> //si j'appuie sur le bouton _groupeB
> public void mousePressed(MouseEvent e) {
> _groupeB.mousePressed(); // => (appel � repaint() avec une autre image)
Normalement tu n'as jamais � appeler directement des m�thodes style
mousePressed. C'est le composant auquel le listener est enregistr� qui
l'appellera.
Ici je soup�onne que tu te m�langes les p�dales.
Si tu veux que un clic souris sur "_groupeB" provoque un appel au repaint :
- depuis le constructeur (par exemple) de ta Frame :
addMouseListener(this);
- puis, dans mousePressed :
public void mousePressed(...)
{
...
repaint();
...
}
Va voir la gestion des �v�nements dans le tutoriel java (URL perdue :-().
A+.
--
SARL diaam informatique - 04 50 77 12 60
Ingenierie, d�veloppements de syst�mes d'information
http://www.diaam-informatique.com