Un probleme de keylistener (urgent svp)

Résolu
hiroshihaijima Messages postés 5 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 10 mars 2018 - 10 juin 2006 à 11:51
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 10 juin 2006 à 21:38
import
javax.swing.*;

import
java.awt.*;

import
java.awt.event.*;


class
ControleurDebut
extends
java.applet.Applet
implements
KeyListener

{
VueDeDepart maVue;
ControleurDebut(
VueDeDepart vue
)


{



maVue=vue;

}

public


void
keyTyped (KeyEvent e) {


int
keyCode = e.getKeyCode();

if
(keyCode == KeyEvent.VK_UP()) {
maVue.plump++;

if
(maVue.plump>=3)
{maVue.plump=1;
}
}

if
(keyCode == KeyEvent.VK_DOWN()) {
maVue.plump--;

if
(maVue.plump<=0)
{maVue.plump=2;
}
}
}
}mon message d'erreur est :
Ï

ControleurDebut.java:5: ControleurDebut is not abstract and does not override abstract method keyReleased(java.awt.event.KeyEvent) in java.awt.event.KeyListener

merci pour vos réponces

java toujours et toujours

8 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 juin 2006 à 12:11
Oups, j'ai craqué, c'est vrai qu'en java on ne peux pas faire du multi-héritage.

Donc ta seule solution : implémenter les fonctions abstraites de l'interface KeyListener :
KeyTyped
KeyReleased
KeyPressed

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 juin 2006 à 12:09
C'est tout simplement que tu n'implémente pas toutes les fonctions du KeyListener !

Utilise plutôt un KeyAdapter à ce moment là :
class ControleurDebut extends java.applet.Applet, KeyAdapter
_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0
hiroshihaijima Messages postés 5 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 10 mars 2018
10 juin 2006 à 15:08
c'est bon j'ai réussi!!!

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

class ControleurDebut implements KeyListener

{
VueDeDepart maVue;
ControleurDebut(VueDeDepart vue)
{
maVue=vue;

}
publicvoid keyReleased(KeyEvent e) {
}
publicvoid keyTyped (KeyEvent e) {

}
publicvoid keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
if (keyCode == KeyEvent.VK_UP) {
maVue.plump++;
if(maVue.plump>=3)
{maVue.plump=1;
}
}
if (keyCode == KeyEvent.VK_DOWN) {
maVue.plump--;
if(maVue.plump<=0)
{maVue.plump=2;
}
}

}
} il falait donné toutes les fonctions du Keylistener et dire se qui se passai dans chaque cas.

merci pour ton aide, mais je n'en est pas terminer avec mon programme.. je vais sans doute reposé des question d'ici peu!!!

java toujours et toujours
0
hiroshihaijima Messages postés 5 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 10 mars 2018
10 juin 2006 à 17:30
private
JMenu creerMenuFichier()
{
JMenu menuFichier =
new
JMenu(
"Fichier"
);
JMenuItem redemarrer =
new
JMenuItem(
"Redémarrer"
);

//listener

JMenuItem quitterPartie =
new
JMenuItem(
"Quitter"
);

//listener

menuFichier.add(redemarrer);
menuFichier.add(quitterPartie);


return
menuFichier;
}j'ai ajouter dans ma bare de menu ces élement mais je ne sais pas quoi metre a la place de mes "//listener" sachant que j'ai déjà des "keylistener" dans cette class...

java toujours et toujours
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 juin 2006 à 18:06
Pour les listeners des menus, ce sont des ActionListeners qu'il te faut.

Perso, je préfère utiliser des classes anonymes plutôt que d'implémenter une classe avec des listeners :
menuFichier.addActionListener(new ActionListener () {
public void actionPerformed(Event e) {
menuFichier_Click();
}
});

Et ainsi, tu n'a plus qu'à créer la fonction menuFichier_Click dans ta classe, et elle sera appelée à chaque click sur le menu fichier.
Je trouve ca bien plus parlant que de faire un implements ActionListener, puis de devoir traîter l'argument de la fonction ActionPerformed pour savoir quel est le menu cliqué !

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0
kaloway Messages postés 358 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 13 avril 2020
10 juin 2006 à 19:19
salut,[auteurdetail.aspx?ID=706802 ] hiroshihaijima. tu vas certainement  prochainement faire une barre outil. au lieu d'avoir des jmenuitems pour ton menu et des jbuttons  pour ta barre d'outil utilises des abstractActions qui remplace avantageusement ces deux élèment.
0
hiroshihaijima Messages postés 5 Date d'inscription mardi 28 février 2006 Statut Membre Dernière intervention 10 mars 2018
10 juin 2006 à 20:03
heu... moi là j'ai pas tout pigé.. il faut essayer de me parler comme a un gamin de 5 an... lol
donc dark, si je comprend ton truc, c'est ke j'apelle un "menuFichier_click" a chaque fois que je click dans mon menuFichier. Mais comment je fait après pour que ça quitte quand je click sur quitter et pareil pour redémarrer...

Et pour mon quitter je pense que je doit faire un system exit = 0 , mais pour redémarrer??? comment fait-je???
merci de votre aide

java toujours et toujours
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
10 juin 2006 à 21:38
Non non, c'est ta fonction menuFichier_Click qui sera appellée elle même à chaque fois que l'utilisateur cliquera sur ton menu, du coup, tu n'a plus qu'à mettre le code à exécuter dans la fonction pour l'éxécuter à chaque click sur le menu. (je trouve ca bien plus pratique plutôt que d'utiliser ta méthode d'implémenter les interfaces dans ta classe, bien que ca doit être un peu plus gourmand en mémoire).

_
Avant de poster dans le forum,
prière d'aller lire ceci :
http://www.codes-sources.com/reglement.aspx
<s></s>
0
Rejoignez-nous