Java :keyevent !
khalilo2812
Messages postés
83
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour,
J'aimerais savoir comment faire pour créer une application qui travaille en arrière plan et qui capte des keyevents .
Merci d'avance
J'aimerais savoir comment faire pour créer une application qui travaille en arrière plan et qui capte des keyevents .
Merci d'avance
4 réponses
-
Les keyevents sont captés lors d'une interaction avec ta fenêtre graphique.
Si ton application est en arrière plan (et que donc ta fenêtre est inaccessible) tu ne pourras pas capter de tels évènements... -
oufff alors comment procéder pour que mon application capte les keyevents que je defni ! plus clairement : comment faire pour que mon application travaille en arrière plan et pour chaque appui sur "Entrer" (par exemple ) elle fait qlq chose !?
-
Il faudra que ta fenêtre soit active et que tu tapes entrée sur ta fenêtre ou un de ses composants.
Si par exemple tu es en train de taper un texte sur Word, et que ton programme est en arrière plan, appuyer sur Entrée sur Word ne servira à rien...
Voici un exemple d'implémentation d'un JTextArea qui capte l'appuie sur la touche Entrée :
class JTextAreaPerso extends JTextArea implements KeyListener { private static final long serialVersionUID = 1L; public JTextAreaPerso() { super(); addKeyListener(this); } @Override public void keyPressed(KeyEvent e) { if (e.getKeyCode()==KeyEvent.VK_ENTER) { //TODO } } @Override public void keyReleased(KeyEvent e) { } @Override public void keyTyped(KeyEvent e) { } }
-
-
je vois ! j essayrai de trouvé un autre issu qd meme :) Merciii
-
j ai eu l idee de travailler avec un listner sur toolkit ! qsk t en dit ?
en fait suite a l appuis sur une touche defini il copi la zone selectionné ! c ce que je veux faire !-
Toolkit est abstract, donc cela me parait une mauvaise idée de l'hériter (et donc implémenter toutes ses méthodes abstraites) par contre bien sûr tu vas devoir l'utiliser...
Tout à l'heure j'avais par exemple pris JTextArea, voici comment s'en servir pour récupérer le texte sélectionné dans le presse papier (je n'ai pas testé) :
@Override public void keyPressed(KeyEvent e) { if (e.getKeyCode()==KeyEvent.VK_ENTER) { Clipboard cp = Toolkit.getDefaultToolkit().getSystemClipboard(); cp.setContents(new StringSelection(this.getSelectedText()), null); } }
-