Pourquoi mon carré ne se déplace pas ?
Résolu
site12
Messages postés
288
Date d'inscription
Statut
Membre
Dernière intervention
-
site12 Messages postés 288 Date d'inscription Statut Membre Dernière intervention -
site12 Messages postés 288 Date d'inscription Statut Membre Dernière intervention -
Bonjour
merci de me dire pourquoi quand jappuie sur A, le carré ne se déplace pas à droite ?
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
}
}
A voir également:
- Pourquoi mon carré ne se déplace pas ?
- Metre carré clavier ✓ - Forum Bureautique
- 2 au carré symbole iphone ✓ - Forum iPhone
- Signe au carré - Forum iPad
- Parenthese carré ✓ - Forum MacOS
- Au carré symbole ✓ - Forum MacOS
1 réponse
Bonjour,
Tu dois ajouter
Remarque : je trouve maladroit de faire
Il serait préférable d'utiliser une classe interne, par exemple :
Tu dois ajouter
fen.addKeyListener(this);
Remarque : je trouve maladroit de faire
extends JPanel implements KeyListeneralors 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(); } } });
site12
Messages postés
288
Date d'inscription
Statut
Membre
Dernière intervention
23
Thanks