KeyListener et actionlistener

Résolu
hisoka56 Messages postés 17 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 22 juillet 2008 - 2 mai 2006 à 13:42
seboutrunk Messages postés 2 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 23 mars 2010 - 23 mars 2010 à 22:01
Bonjour, je suis en train de realiser un editeur de map pour un jeu que
je fait et je rencontre quelques actions avec les keyListener, quoique
j'essaille, ils ne semblent pas marcher, j'ai fait un test tout simple
qui devrait me mettre dans al console la touche tapée mais ca ne marche
pas...

import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.ArrayList;


public class Editeur extends Frame implements ActionListener, KeyListener{

    /**

     *

     */

    private static final long serialVersionUID = 6988994041918638393L;

    Ecran ec;

    String mapEdited;

   

    File f = new File("maps");

    File[] listFiles = f.listFiles();

    ArrayList allFiles = new ArrayList();

   

    MenuBar menuBar = new MenuBar();

    Menu fichier = new Menu("Fichier");

    Menu ouvrir = new Menu("Ouvrir");

    MenuItem[] open = new MenuItem[listFiles.length];

    MenuItem enregistrer = new MenuItem("Enregistrer");

    MenuItem enregistrerSous = new MenuItem("Enregistrer sous...");

    MenuItem quitter = new MenuItem("Quitter");

   

   

    public Editeur() throws IOException{

        this.setTitle("editeur de map");

        this.setSize(450,550);

        this.mapEdited="";

       

        this.setMenuBar(menuBar);

        menuBar.add(fichier);

        fichier.add(ouvrir);

        fichier.add(enregistrer);

        fichier.add(enregistrerSous);

        fichier.add(quitter);

        //ouvrir.addActionListener(this);

        enregistrer.addActionListener(this);

        enregistrerSous.addActionListener(this);

        quitter.addActionListener(this);

       

        for (int i = 0; i < listFiles.length; i++) {

            allFiles.add(listFiles[i].toString());

            open[i] = new MenuItem(allFiles.get(i).toString());

            ouvrir.add(open[i]);

            open[i].addActionListener(this);

        }

       

       

        ec = new Ecran("maps/map.map");

        this.add(ec);

        this.setVisible(true);

        addKeyListener(this);

       

       

    }

   

    public void actionPerformed(ActionEvent e) {

       

       

        Object chx = e.getSource();

       

        //si on souhaite ouvrir une map...

        for (int i = 0; i < listFiles.length; i++)

            if (chx == open[i]) ec.setMap(new Carte(allFiles.get(i).toString()));

       

        if (chx == quitter){

            System.exit(0);

        }

       

        if (chx == enregistrer)

            ec.map.sauvegarder();

       

        if (chx == enregistrerSous)

            new EnregistrerSous(ec.map);

       

    }


    public void keyPressed(KeyEvent e) {

       

        // TODO Auto-generated method stub

       

    }


    public void keyReleased(KeyEvent e) {

        System.out.println(e.getKeyCode());

       

       

    }


    public void keyTyped(KeyEvent e) {

       

        // TODO Auto-generated method stub

       

    }

   

   

   

}

le code compile parfaitement mais quand j'appuis
par exemple sur la touche "k" ou "MAj" ou n'importe laquelle, rien
n'est envoyé dans la console...

3 réponses

hisoka56 Messages postés 17 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 22 juillet 2008 1
2 mai 2006 à 16:12
j'ai essayé en le mettant avant el setVisible mais rien n'y fait
1
scaryman Messages postés 492 Date d'inscription vendredi 30 janvier 2004 Statut Membre Dernière intervention 16 mai 2007 12
2 mai 2006 à 13:53
Salut
Mets le addKeyListener avant le setVisible car cette derniere est bloquante.

Voila
A++
0
seboutrunk Messages postés 2 Date d'inscription vendredi 13 juin 2008 Statut Membre Dernière intervention 23 mars 2010
23 mars 2010 à 22:01
Bonjour j'ai un peu les même problèmes que toi je n'arrive pas à compiler avec en implémentation ces 2 méthodes KeyListener,ActionListener sur un une fenetre extends de JDialog. Si quelqu'un à une idée... :)
0
Rejoignez-nous