Pourquoi mon carré ne se déplace pas ?

Résolu/Fermé
site12 Messages postés 288 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 3 décembre 2017 - Modifié par site12 le 3/07/2016 à 19:44
site12 Messages postés 288 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 3 décembre 2017 - 3 juil. 2016 à 20:01
Bonjour
merci de me dire pourquoi quand jappuie sur A, le carré ne se déplace pas à droite ?

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

public class Main extends JPanel implements KeyListener {

int i = 10;
int j = 10;

public void display() {
JFrame fen = new JFrame();
fen.setVisible(true);
fen.setSize(480, 272);
fen.setTitle("Ma fenêtre intelligente !");
fen.add(this);
fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setBackground(Color.YELLOW);
}

public void paintComponent(Graphics g) {
g.setColor(Color.BLUE);
g.fillRect(i, j, 100, 100);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Coucou");
Main classe = new Main();
classe.display();
}

@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
if(arg0.getKeyCode() == KeyEvent.VK_A) {
i += 10;
repaint();
}

}

@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub

}

@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub

}

}

1 réponse

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
3 juil. 2016 à 19:51
Bonjour,

Tu dois ajouter
fen.addKeyListener(this);


Remarque : je trouve maladroit de faire
extends JPanel implements KeyListener
alors que ce sont deux choses différentes.
Il serait préférable d'utiliser une classe interne, par exemple :

fen.addKeyListener(new KeyAdapter() {
    @Override
    public void keyPressed(KeyEvent arg0) {
        if (arg0.getKeyCode() == KeyEvent.VK_A) {
            i += 10;
            repaint();
        }
    }
});
0
site12 Messages postés 288 Date d'inscription dimanche 13 février 2011 Statut Membre Dernière intervention 3 décembre 2017 23
3 juil. 2016 à 20:01
Thanks
0