• [^] # Re: modifie completement ton code

    Posté par (site web personnel) . En réponse au message J'arrive pas à récupérer un évenement clavier dans une fenêtre. Évalué à 1.

    C'est codé à l'arache, c'est la première fois que je fais du java...

    Merci :)

    Petit problème, il me dit que this ne connait pas addKeyListener( ds la doc, il est dit que AddKeyListener est une méthode de JComponent), donc j'ai fait descendre Main de JPanel

    Ce qui me donne le code suivant :

    package testuih2;

    import java.awt.Color;
    import java.awt.Dimension;
    import java.awt.Point;
    import java.awt.event.KeyListener;
    import java.awt.event.KeyEvent;
    import javax.swing.JPanel;

    import testuih2.GUIHelper;
    import testuih2.IDrawable;
    import testuih2.JCanvas;
    import testuih2.RectangleDrawable;

    import testuih2.IMovableDrawable;
    import testuih2.FormDrawable;
    /**
    *
    * @author montaigne
    */
    public class Main extends JPanel implements KeyListener {
    //private EcouteurClavier machin = new EcouteurClavier();
    /** Creates a new instance of Main */

    private JCanvas jc;

    private FormDrawable rect,rect2;
    //EcouteurClavier clav = new EcouteurClavier(jc);

    public Main () {
    //String[] truc = new String[2];
    //m.main(truc);
    jc = new JCanvas();
    System.out.print ("Test Sortie out");

    jc.setBackground(Color.WHITE);
    jc.setPreferredSize(new Dimension(400,200));
    Dimension dim =new Dimension(40,60);
    rect = new RectangleDrawable(Color.RED,new Point(10,10),dim);

    //jc.addKeyListener(clav);
    jc.addDrawable(rect);

    this.addKeyListener(this);
    GUIHelper.showOnFrame(jc,"test JCanvas");

    for (int i = 1 ; i<35 ; i += 5)
    {
    int b;
    rect.setPosition (new Point(rect.getPosition ().x+i,rect.getPosition ().y+i));

    jc.repaint ();
    }

    }

    /**
    * @param args the command line arguments
    */
    public static void main (String[] args) {
    // TODO code application logic here


    Main main = new Main();



    }//main

    public void keyTyped(KeyEvent e) {

    System.out.print ("Event clavier trouvé");
    System.out.print (e.getKeyChar ());

    }

    public void keyPressed(KeyEvent e) {
    System.out.print ("KEY PRESSED: ");
    System.out.print (e.getKeyChar ());
    }

    /** Handle the key released event from the text field. */
    public void keyReleased(KeyEvent e) {
    System.out.print ("KEY RELEASED: ");
    System.out.print (e.getKeyChar ());
    }
    }


    Qui ne marche pas :(

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker