Java :keyevent !

khalilo2812 Messages postés 83 Statut Membre -  
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

A voir également:

4 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
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...
1
khalilo2812 Messages postés 83 Statut Membre
 
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 !?
0
KX Messages postés 19031 Statut Modérateur 3 020
 
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)
	{
	}
}
0
khalilo2812 Messages postés 83 Statut Membre
 
je vois ! j essayrai de trouvé un autre issu qd meme :) Merciii
0
khalilo2812 Messages postés 83 Statut Membre
 
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 !
0
KX Messages postés 19031 Statut Modérateur 3 020
 
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);
    }
}
0