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

Répondre à