IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

detecter les touche taper ?


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 54
    Points : 47
    Points
    47
    Par défaut detecter les touche taper ?
    Bonjour a tous.
    J'ai une question super bete.
    Je souhaiterait detecter les touche taper a l'ecran meme si l'application n'a pas le focus.
    Comment faire ?
    Dois-je mettre mon application dans un systemtray (deja essayer mais marche pas) ?
    Dois-je essayer les eventQueue(deja tester maiçs sa marche pas) ?
    Dois-je redemander le focus a chaque fois que je le pert (je ne pense pas sinon toute mes autre application serait inutilisable) ?

    Contenue de la classe fenetre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import javax.swing.JFrame;
    import javax.swing.JLabel;
     
     
    public class fenetre{
     
    	JFrame fenetre = new JFrame("test keylistener") ;
    	JLabel labelTouche = new JLabel("la touche presser est : ") ;
    	keyListener keyListener = new keyListener(this) ;
     
    	public fenetre(){
    		fenetre.addKeyListener(keyListener) ;
    		fenetre.add(labelTouche) ;
    		fenetre.setSize(400,400) ;
    		fenetre.setVisible(true) ;
    		fenetre.setAlwaysOnTop(true) ;
     
     
    	}
     
    	public static void main(String[] args) {
    		new fenetre() ;
    	}
     
     
    }
    contenue de la classe keylistener :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
     
     
    public class keyListener implements KeyListener{
     
    	fenetre fenetre ;
    	public keyListener(fenetre fenetre ) {
    		this.fenetre = fenetre ;
    	}
     
     
    	public void keyPressed(KeyEvent e) {
    		fenetre.labelTouche.setText("la touche presser est : "+e.getKeyChar()) ;	
    	}
     
    	@Override
    	public void keyReleased(KeyEvent e) {
    		// TODO Auto-generated method stub
     
    	}
    	@Override
    	public void keyTyped(KeyEvent e) {
    		// TODO Auto-generated method stub
     
    	}
     
    }
    Merci d'avance.

  2. #2
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    A ma connaissance, c'est malheureusement impossible en Java pur, la capture des touches ne pouvant se faire que dans une appli Java ayant le focus.

    Il faut se débrouiller avec du code natif.

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Points : 318
    Points
    318
    Par défaut
    Je pense qu'il faudrait pouvoir capter les messages Windows (api Win32)... Quel serait le but de capter des touches non destinées à ton appli (virus mis à part ) ?

Discussions similaires

  1. [Système] detecter les touche clavier en php
    Par youcef81 dans le forum Langage
    Réponses: 11
    Dernier message: 01/09/2006, 13h32
  2. Réponses: 3
    Dernier message: 30/06/2006, 14h39
  3. Detection des touches enfoncées par API
    Par Ingham dans le forum VB 6 et antérieur
    Réponses: 31
    Dernier message: 20/02/2006, 12h30
  4. Problème avec les touches CTRL & FONCTIONS
    Par bidule999 dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 03/12/2004, 09h52
  5. Désactiver les touches F1, F2, F3, F4, F5 dans IE
    Par ZiZouJH dans le forum Flash
    Réponses: 7
    Dernier message: 17/02/2003, 09h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo