Java - Problème avec le clavier
Géomaster
-
Géomaster -
Géomaster -
Voilà bonjour à tous, j'ai un p'tit probleme en Java.
Je cherche tant bien que mal à faire une méthode qui boucle à l'infini tant que l'utilisateur n'a pas appuyé sur Entrée.
Je suis sur que c'est simple mais par manque de temps je suis obligé d'aller vite et je n'obtiens pas le résultat que je souhaite...
Il faudrait faire boucler le addKeyListener je sais pas...
Merci d'avance.
Je cherche tant bien que mal à faire une méthode qui boucle à l'infini tant que l'utilisateur n'a pas appuyé sur Entrée.
Je suis sur que c'est simple mais par manque de temps je suis obligé d'aller vite et je n'obtiens pas le résultat que je souhaite...
Il faudrait faire boucler le addKeyListener je sais pas...
Merci d'avance.
A voir également:
- Java - Problème avec le clavier
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Comment faire le + sur clavier telephone iphone - Guide
- Comment taper / sur clavier - Guide
5 réponses
Pas besoin de boucler.
package CCM;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
*
* @author HackTrack
* @version 1.0
*/
public class TempTest extends JFrame{
private Container c;
private JTextField input;
public TempTest() {
super("Return key tester");
initialize();
}
private void initialize(){
c = getContentPane();
c.setSize(320,200);
c.setLayout(new GridLayout(3,1));
input = new JTextField(20);
input.addKeyListener(new KeyListener(){
public void keyPressed(java.awt.event.KeyEvent keyEvent) {
}
public void keyReleased(java.awt.event.KeyEvent keyEvent) {
if(keyEvent.getKeyCode()==KeyEvent.VK_ENTER){
System.out.println("ok");
}
}
public void keyTyped(java.awt.event.KeyEvent keyEvent) {
}
});
c.add(input);
}
public static void main(String args[]){
TempTest tt = new TempTest();
tt.pack();
tt.setVisible(true);
}
}
;-)
HackTrack
package CCM;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
*
* @author HackTrack
* @version 1.0
*/
public class TempTest extends JFrame{
private Container c;
private JTextField input;
public TempTest() {
super("Return key tester");
initialize();
}
private void initialize(){
c = getContentPane();
c.setSize(320,200);
c.setLayout(new GridLayout(3,1));
input = new JTextField(20);
input.addKeyListener(new KeyListener(){
public void keyPressed(java.awt.event.KeyEvent keyEvent) {
}
public void keyReleased(java.awt.event.KeyEvent keyEvent) {
if(keyEvent.getKeyCode()==KeyEvent.VK_ENTER){
System.out.println("ok");
}
}
public void keyTyped(java.awt.event.KeyEvent keyEvent) {
}
});
c.add(input);
}
public static void main(String args[]){
TempTest tt = new TempTest();
tt.pack();
tt.setVisible(true);
}
}
;-)
HackTrack
Oui... Mais ça ne résout pas entièrement mon problème. J'ai rééllement besoin d'une boucle.
Voilà mon écouteur...
----------------------------------------------------------------
addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
switch(e.getKeyCode())
{
case KeyEvent.VK_ENTER : jeu.lumiEnter(); break;
case KeyEvent.VK_LEFT : jeu.lumimiGauche(); break;
case KeyEvent.VK_UP : jeu.lumimiHaut(); break;
case KeyEvent.VK_RIGHT : jeu.lumimiDroite(); break;
case KeyEvent.VK_DOWN : jeu.lumimiBas(); break;
}
oldKey = e.getKeyCode();
}
});
----------------------------------------------------------------
En fait c'est un jeu qui se déroule dans un panel (qui est lui meme dans une frame). Quand on appuie sur les touches haut, gauche, bas, droite, on déplace un personnage. Quand on appuie sur Entrée, ca affiche un dialogue (comme dans tout jeux de roles en fait lol) et il faudrait que le jeu "boucle" tant que l'utilisateur n'a pas mis fin au dialogue en appuyant sur entrée...
Car jusqu'ici, soit le dialogue disparait sans meme attendre un geste du joueur, ou alors tout reste bloqué...
Help me again please lol...
Voilà mon écouteur...
----------------------------------------------------------------
addKeyListener(new KeyAdapter()
{
public void keyPressed(KeyEvent e)
{
switch(e.getKeyCode())
{
case KeyEvent.VK_ENTER : jeu.lumiEnter(); break;
case KeyEvent.VK_LEFT : jeu.lumimiGauche(); break;
case KeyEvent.VK_UP : jeu.lumimiHaut(); break;
case KeyEvent.VK_RIGHT : jeu.lumimiDroite(); break;
case KeyEvent.VK_DOWN : jeu.lumimiBas(); break;
}
oldKey = e.getKeyCode();
}
});
----------------------------------------------------------------
En fait c'est un jeu qui se déroule dans un panel (qui est lui meme dans une frame). Quand on appuie sur les touches haut, gauche, bas, droite, on déplace un personnage. Quand on appuie sur Entrée, ca affiche un dialogue (comme dans tout jeux de roles en fait lol) et il faudrait que le jeu "boucle" tant que l'utilisateur n'a pas mis fin au dialogue en appuyant sur entrée...
Car jusqu'ici, soit le dialogue disparait sans meme attendre un geste du joueur, ou alors tout reste bloqué...
Help me again please lol...
Je crois que le KeyAdapter ne génère pas d'évènement "KeyPressed" lors de l'appui sur une les touches CTRL, ESC, RETURN, F1, F2, ...
Je pense que tu dois overrider la méthode "keyReleased(KeyEvent e)" à la place de la méthode "keyPressed(KeyEvent e)"
Essaie et dis-moi ce que cela donne
;-)
Hacktrack
Je pense que tu dois overrider la méthode "keyReleased(KeyEvent e)" à la place de la méthode "keyPressed(KeyEvent e)"
Essaie et dis-moi ce que cela donne
;-)
Hacktrack
Re :o)
J'ai essayé avec keyReleased() et ça donne un résultat identique... Tu ne pourrais pas essayer de faire le mm exemple que tu m'avais donné mais avec un KeyListener car là j'avoue qque je bloque sévère...
J'ai essayé avec keyReleased() et ça donne un résultat identique... Tu ne pourrais pas essayer de faire le mm exemple que tu m'avais donné mais avec un KeyListener car là j'avoue qque je bloque sévère...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question