Gérer les événemets

Résolu
laigle76 Messages postés 23 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 25 janvier 2011 - 11 déc. 2004 à 01:15
laigle76 Messages postés 23 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 25 janvier 2011 - 13 déc. 2004 à 11:23
Bonjour,

je dévellope depuis à peu pres 1 an an java dans le cadre de mes études et nos profs ne nous ont pas appris comment séparer le code de l'interface graphique et le code gérant les différents évenements.

Comment faire pour que un évenement lié à un item de la classe Toto puisse être gérer par le code de la classe Event ??

Merci de votre aide

ArChAnGe

4 réponses

Nightman150 Messages postés 30 Date d'inscription vendredi 17 mai 2002 Statut Membre Dernière intervention 14 juin 2008
13 déc. 2004 à 08:37
Tout d'abord je te déconseille de nommer ta classe event.
Il peut y avoir un conflit de nom avec la classe de la biblithèque.
Event.
Pour lque ça marche. Il faut mettre :

public void actionPerformed(ActionEvent e) {
if ( e.getActionCommand().equals( "Frame1.nom_bouton") ) {
// et dans ta classe frame faut faire // //BontonOuJeComposont.setActionCommand("Frame1.nom_bouton" )
// et là ça devrai marcher
Frame.windowClosed();
}
}


Voilà pour l'éxception c'est normal car tu ne peut pas utiliser une variable non statique en dehors de la classe Frame1. Il faut creer une instance de ta classe.

Si ça marche pas tu pourrai poster ton code.
3
Nightman150 Messages postés 30 Date d'inscription vendredi 17 mai 2002 Statut Membre Dernière intervention 14 juin 2008
11 déc. 2004 à 14:35
Salut,
Faut utilser un EventAdapter :
Par exemple :
// dans la classe toto -> toto()
faut faire setMouseListener(MaClasseApaptateur)

// quelque part ailleurs

[public] class MaClasseApaptateur extends MouseEvent
{
// adapter comme on veux les événements hérités!
}

Voilà
0
laigle76 Messages postés 23 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 25 janvier 2011
11 déc. 2004 à 18:16
Voila ce que j'ai fait :

Dans ma classe Frame j'ai un item MenuItem et jy est ajouté un ActionListener comme suit :

menuFileExit.addActionListener(new event());

Dans la classe event, j'ai déclaré la méthode

public void actionPerformed(ActionEvent e)

que j'ai implémenté comme suit :

public void actionPerformed(ActionEvent e) {
if ( e.getSource() == Frame.menuFileExit ) {
Frame.windowClosed();
}
}

Seulement qd je compil j'obtient le message d'erreur suivant :

event.java:14: non-static variable menuFileExit cannot be referenced from a static context
if ( e.getSource() == Frame.menuFileExit ) {
^
event.java:15: non-static method windowClosed() cannot be referenced from a static context
Frame.windowClosed();
^
2 errors

Sachant que le MenuItem menuFileExit est déclaré comme public dans la classe Frame....

Comment faire ?? quel est le problème ?

Merci à vous

ArChAnGe
0
laigle76 Messages postés 23 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 25 janvier 2011
13 déc. 2004 à 11:23
Merci à toi Nightman150,

Ca marche comme sur des roulettes ;)
0
Rejoignez-nous