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

Agents de placement/Fenêtres Java Discussion :

[JFrame] [Win/Linux] Comportement keyPressed/keyReleased


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut [JFrame] [Win/Linux] Comportement keyPressed/keyReleased
    Bonsoir,

    Suite à un test avec le code suivant:

    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
    29
    30
    31
     
    import java.awt.Dimension;
    import java.awt.event.KeyEvent;
    import java.awt.event.KeyListener;
    import javax.swing.JFrame;
     
    public class TestKeyEvent extends JFrame implements KeyListener {
     
    	public static void main(String[] args) {
    		new TestKeyEvent();
    	}
     
    	public TestKeyEvent() {
    		super();
    		this.setTitle("Test KeyEvent Linux");
    		this.setSize(new Dimension(300,200));
    		this.addKeyListener(this);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setVisible(true);
    	}
     
    	public void keyPressed(KeyEvent event) {
    		System.out.println("touche pressee: "+event.getKeyCode());
    	}
     
    	public void keyTyped(KeyEvent event) {}
     
    	public void keyReleased(KeyEvent event) {
    		System.out.println("touche relachee: "+event.getKeyCode());
    	}
    }
    je tombe sur un différence de comportement entre Windows (98) et Linux (RH9).

    Lorsque l'on presse une touche, et qu'on la garde enfoncée:
    • 1) windows génère un évènement keyPressed, puis toute une série de keyPressed, jusqu'au relâchement de la touche qui génère le keyReleased

      2)Linux génère un keyPressed, toute une série de couples keyReleased/keyPressed, puis le keyReleased final.


    Le comportement que je souhaiterais conserver est celui de windows.

    Y'a-t-il un moyen de faire réagir Linux de la même manière (sans trafiquer l'OS)? J'ai trouvé sur le net une solution qui consisterai à créer mon propre EventQueue pour gérer les couples keyReleased/keyPressed intempestifs, mais y'a-t-il un moyen plus simple? Et je ne peux pas utiliser keyTyped, les touches à gérer sont les touches de fonction clavier (F1 à F12).
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  2. #2
    Membre actif
    Avatar de narkotik
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 229
    Points
    229
    Par défaut
    réécris ton propre eventQueue, pas d'autres solus envisageables car celles qui existent tu les connais et apparemment elles ne sont pas adaptées a tes besoins
    (+mitch): nan mais nanar j'préfère mourir contre un platane apres un accident de voiture plutot que d'une rupture d'anévrisme devant mon ecran d'pc

  3. #3
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 638
    Points
    7 638
    Par défaut
    Bon, ben vu qu'il n'y a apparemment pas de solution miracle, je vais me pencher sur celle-ci.

    Merci.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de Select [Win/Linux]
    Par granquet dans le forum Réseau
    Réponses: 6
    Dernier message: 28/01/2010, 10h04
  2. Différence de comportement Win/Linux
    Par Slookeur dans le forum GTK+ avec C & C++
    Réponses: 7
    Dernier message: 22/07/2009, 10h44
  3. Quel langage pour une meilleure portabilité Win/Linux
    Par darkervein dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/04/2005, 14h59
  4. partage de connexion win-linux
    Par ynnotna dans le forum Développement
    Réponses: 2
    Dernier message: 15/07/2003, 15h38
  5. Réseau Win/Linux
    Par ben91 dans le forum Développement
    Réponses: 2
    Dernier message: 08/09/2002, 22h59

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