Un probleme de keylistener (urgent svp) [Résolu]

hiroshihaijima 5 Messages postés mardi 28 février 2006Date d'inscription 10 mars 2018 Dernière intervention - 10 juin 2006 à 11:51 - Dernière réponse : cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention
- 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
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 10 juin 2006 à 12:11
3
Merci
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>

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 96 internautes ce mois-ci

Commenter la réponse de cs_DARKSIDIOUS
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 10 juin 2006 à 12:09
0
Merci
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>
Commenter la réponse de cs_DARKSIDIOUS
hiroshihaijima 5 Messages postés mardi 28 février 2006Date d'inscription 10 mars 2018 Dernière intervention - 10 juin 2006 à 15:08
0
Merci
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
Commenter la réponse de hiroshihaijima
hiroshihaijima 5 Messages postés mardi 28 février 2006Date d'inscription 10 mars 2018 Dernière intervention - 10 juin 2006 à 17:30
0
Merci
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
Commenter la réponse de hiroshihaijima
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 10 juin 2006 à 18:06
0
Merci
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>
Commenter la réponse de cs_DARKSIDIOUS
kaloway 358 Messages postés jeudi 24 octobre 2002Date d'inscription 30 mars 2011 Dernière intervention - 10 juin 2006 à 19:19
0
Merci
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.
Commenter la réponse de kaloway
hiroshihaijima 5 Messages postés mardi 28 février 2006Date d'inscription 10 mars 2018 Dernière intervention - 10 juin 2006 à 20:03
0
Merci
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
Commenter la réponse de hiroshihaijima
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 10 juin 2006 à 21:38
0
Merci
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>
Commenter la réponse de cs_DARKSIDIOUS

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.