Déplacer un bouton avec les fleches java
Résolu
WeWillNeverForget_11.9.2001
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'aimerais savoir comment on peut deplacer un bouton (droite-gauche) à l'aide des fleches en java. j'ai essayé qqch mais cela ne marche pas:
public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e){}
public void keyPressed(KeyEvent e) {
case KeyEvent.VK_RIGHT:
goRight();
break;
case KeyEvent.VK_LEFT:
goLeft();
break;
case KeyEvent.VK_UP:
jump();
break;
}
static int posX = 40;
static int posY = 750;
public int goRight() {
posX = posX+1;
return posX;
}
public int goLeft() {
posX = posX-1;
return posX;
}
public int jump() {
}
/**
* @param args
*/
public static void main(String[] args) {
JButton bouton = new JButton("bouton",(new ImageIcon("xxx.jpg")));
bouton.setLayout(null);
bouton.setBounds(posX,posY,10,20);
JPanel panneauPrincipal = new JPanel();
panneauPrincipal.add(bouton);
JFrame fenetre = new JFrame();
fenetre.setSize(1680, 1050);
fenetre.getContentPane().add(bouton);
fenetre.add(panneauPrincipal);
fenetre.setLocationRelativeTo(null);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setVisible(true);
}}
j'aimerais savoir comment on peut deplacer un bouton (droite-gauche) à l'aide des fleches en java. j'ai essayé qqch mais cela ne marche pas:
public void keyReleased(KeyEvent e){}
public void keyTyped(KeyEvent e){}
public void keyPressed(KeyEvent e) {
case KeyEvent.VK_RIGHT:
goRight();
break;
case KeyEvent.VK_LEFT:
goLeft();
break;
case KeyEvent.VK_UP:
jump();
break;
}
static int posX = 40;
static int posY = 750;
public int goRight() {
posX = posX+1;
return posX;
}
public int goLeft() {
posX = posX-1;
return posX;
}
public int jump() {
}
/**
* @param args
*/
public static void main(String[] args) {
JButton bouton = new JButton("bouton",(new ImageIcon("xxx.jpg")));
bouton.setLayout(null);
bouton.setBounds(posX,posY,10,20);
JPanel panneauPrincipal = new JPanel();
panneauPrincipal.add(bouton);
JFrame fenetre = new JFrame();
fenetre.setSize(1680, 1050);
fenetre.getContentPane().add(bouton);
fenetre.add(panneauPrincipal);
fenetre.setLocationRelativeTo(null);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setVisible(true);
}}
A voir également:
- Déplacer un bouton avec les fleches java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Déplacer colonne excel - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
1 réponse
Exemple :
import java.awt.Point; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JButton; import javax.swing.JFrame; public class Test1 { public static void main(String[] args) { JFrame frame = new JFrame(); frame.setLayout(null); frame.setSize(800, 800); final JButton button = new JButton("Bouton"); frame.add(button); button.setBounds(350,380,100,40); button.addKeyListener(new KeyListener() { @Override public void keyPressed(KeyEvent e) { Point p = button.getLocation(); switch (e.getKeyCode()) { case KeyEvent.VK_RIGHT: button.setLocation(p.x+1, p.y); break; case KeyEvent.VK_LEFT: button.setLocation(p.x-1, p.y); break; case KeyEvent.VK_UP: button.setLocation(p.x, p.y-1); break; case KeyEvent.VK_DOWN: button.setLocation(p.x, p.y+1); break; } } public void keyReleased(KeyEvent e) {} public void keyTyped(KeyEvent e) {} }); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }
est-ce-qu'il y aurait un moyen d'augmenter la vitesse de deplacment sans le petit accoup qui survient lorsqu'on augmente la valeur de p.x?