A voir également:
- [JAVA] Probleme de KeyListener
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java itel 5360 ✓ - Forum Jeux vidéo
- Télécharger jeux java gameloft gratuit - Forum Mobile
10 réponses
Utilisateur anonyme
8 mai 2007 à 08:23
8 mai 2007 à 08:23
Salut!
Pour fiddy: pourquoi placer le KeyListener sur la JFrame lorsqu l'on a juste besoin de celui-ci sur le panel?
Pour Ogtraba: pour qu'un KeyListener soit actif sur un JPanel, tu dois rendre ton JPanel "focusable" puis lui donner le focus.
Exemple:
;-)
HackTrack
Pour fiddy: pourquoi placer le KeyListener sur la JFrame lorsqu l'on a juste besoin de celui-ci sur le panel?
Pour Ogtraba: pour qu'un KeyListener soit actif sur un JPanel, tu dois rendre ton JPanel "focusable" puis lui donner le focus.
Exemple:
JPanel panel = new JPanel(); panel.stFocusable(true); panel.requestFocus(); //A partir de maintenant, ton JPanel peut gérer les KeyEvent via le KeyListener
;-)
HackTrack
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
9 mai 2007 à 09:40
9 mai 2007 à 09:40
Si tu refais un new des JComboBox, il ne devrait plus y avoir de problèmes
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
4 mai 2007 à 16:55
4 mai 2007 à 16:55
Tu as essayé de faire avec une autre touche ?
Par example une touche qui ne soit pas "spécial", le 'a' par exemple.
Car il se peut que F5 soit déjà réservé pour un comportement par défaut pour une fenêtre... (je n'y crois pas trop mais on ne sais jamais)
EDIT : remarque idiote en faite puisque même si c'est le cas le sysout devrait s'effectuer.
Et si tu fais :
Il se passe toujours rien ?
Par example une touche qui ne soit pas "spécial", le 'a' par exemple.
Car il se peut que F5 soit déjà réservé pour un comportement par défaut pour une fenêtre... (je n'y crois pas trop mais on ne sais jamais)
EDIT : remarque idiote en faite puisque même si c'est le cas le sysout devrait s'effectuer.
Et si tu fais :
PanelPrincipal.addKeyListener( new KeyListener(){ public void keyPressed(KeyEvent e){ System.out.println(e.getKeyCode() ); if (e.getKeyCode() == KeyEvent.VK_F5){ PanelPrincipal.revalidate(); } } ... }//keyListener );
Il se passe toujours rien ?
desolé pour le temps de reponse mais je n'est pas put essayer ta reponse avant ce matin.
helas cela n'a rien changer a mon probleme. Il semblerai que mon programme ne detecte pas les touches de mon clavier. j'ai essayer de recopier le code ds KeyRelease et KeyTyped mais ça ne change rein. est il possible que ce ne soit pas au bon endroi dans mon programme?
helas cela n'a rien changer a mon probleme. Il semblerai que mon programme ne detecte pas les touches de mon clavier. j'ai essayer de recopier le code ds KeyRelease et KeyTyped mais ça ne change rein. est il possible que ce ne soit pas au bon endroi dans mon programme?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
7 mai 2007 à 17:20
7 mai 2007 à 17:20
Il n'est peut etre tout simplement pas possible d'attribuer un écouteur sur un panel non ?
Sur un bouton, un label, un text, une fenetre.. ok, mais sur un panel je ne suis pas sur que l'on puisse.
Cela vient peut etre de là ?
(je n'ai jamais eu l'utilité de mettre un écouteur d'évênement sur un panel)
Sur un bouton, un label, un text, une fenetre.. ok, mais sur un panel je ne suis pas sur que l'on puisse.
Cela vient peut etre de là ?
(je n'ai jamais eu l'utilité de mettre un écouteur d'évênement sur un panel)
c'est impecable,
ça marche part contre pour réinnitialiser mes composants qui sont des JComboxbox je suis obliger de tuer le programme par dispose et de recréé une nouvelle fenetre.
Il n'existe pas une autre methode??
ça marche part contre pour réinnitialiser mes composants qui sont des JComboxbox je suis obliger de tuer le programme par dispose et de recréé une nouvelle fenetre.
Il n'existe pas une autre methode??
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
7 mai 2007 à 21:35
7 mai 2007 à 21:35
Fais plutot le KeyListener sur ta JFrame
public class Fenetre extends JFrame implements KeyListener {
...
public void keyTyped(KeyEvent e) {
panelPrincipal.repaint();
}
//implémente toutes les méthodes de l'interface KeyListener ou tu peux utiliser un canevas comme tu as fait.
public class Fenetre extends JFrame implements KeyListener {
...
public void keyTyped(KeyEvent e) {
panelPrincipal.repaint();
}
//implémente toutes les méthodes de l'interface KeyListener ou tu peux utiliser un canevas comme tu as fait.
heu... question bete comment on fait pour metre la balise resolu??
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
9 mai 2007 à 11:48
9 mai 2007 à 11:48
Regarde au début de la discution tu as une checkbox a cocher pour résolu et non résolu
essayer ce code ca marche bien pour mois :
public void tabparentre()
{
Set forwardKeys = getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
Set newForwardKeys = new HashSet(forwardKeys);
newForwardKeys.add(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));
setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
newForwardKeys);
}
}
public void tabparentre()
{
Set forwardKeys = getFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS);
Set newForwardKeys = new HashSet(forwardKeys);
newForwardKeys.add(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));
setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
newForwardKeys);
}
}