Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
523 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Pb recuperation evenement clavier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Pb recuperation evenement clavier

n°772491
boubavic
Posté le 22-06-2004 à 11:37:24  profilanswer
 

Salut,
 
Je fais une ptite appli en swing/awt j'ai un petit soucis avec la recuperation des evenements claviers.
 
J'ai une classe Main qui contient juste la fonction main, une classe Principale qui est extends de JFrame qui represente donc la frame principale et une classe MyStatusBar qui represente la barre d'etat.
 
Dans la barre d'etat j'affiche l'etat des touches MAJ et NUM (comme dans word par exemple)  
 
La classe principale possede en donnée membre une instance de MyStatusBar.
 
Donc ce que je veux faire, c'est mettre a jour l'etat des bouton MAJ(CAPS_LOCK) et NUM (NUM_LOCK) dans ma barre d'etat. J'ai deja trouver le moyen de recuperer l'etat de ces boutons et j'ai donc dans ma classe MyStatusBar une fonction toggle qui permet de modifier l'affichage de la barre d'etat.  
 
Mais le probleme c'est que je n'arrive pas a recuperer les evenements claviers...j'ai essayer en faisant un implements KeyListener sur la classe MyStatusBar, Principale et Main mais rien a faire ...ca marche pas ...
 
Donc si qq un avait une idée ca serait sympa...
 
Voici les declarations de mes classes actuelles :

Code :
  1. public class Principale extends JFrame implements /*KeyListener,*/ OutlookBarSelectionListener  {


 

Code :
  1. public class Main  /*implements KeyListener*/{


 

Code :
  1. public class MyStatusBar extends JPanel /*implements KeyListener*/{


 
Merci @+

mood
Publicité
Posté le 22-06-2004 à 11:37:24  profilanswer
 

n°772825
boubavic
Posté le 22-06-2004 à 15:17:19  profilanswer
 

ca n'inspire personne apparement...le probleme c'est que moi non plus ...

n°772914
elfe_des_m​ontagnes
Posté le 22-06-2004 à 16:24:02  profilanswer
 

salut boubavic,
 
a tu bien enregistré (via la méthode addKeyListener) ton instance de MyStatusBar (qui implement keylistener) dans ta JFrame, pour que
MyStatusBar reçoit les événements clavier.

n°772936
boubavic
Posté le 22-06-2004 à 16:36:49  profilanswer
 

non je ne l'avais pas fait ...mais ca marche pas mieux ...j'arrive meme pas a recup 1 evenement clavier quelqu'il soit dans la frame principale ... je comprends pas trop le soucis ...

n°772988
elfe_des_m​ontagnes
Posté le 22-06-2004 à 17:16:13  profilanswer
 

Je viens de coder un truc vite fait j’espère que cela va d’aider. Cela affiche de l’info sur la touche pressée.  
 

Code :
  1. public class Test extends JFrame
  2. {
  3. JTextArea mTextArea;
  4. // -------------------------------------------
  5. // CONSTRUCTEUR
  6. // -------------------------------------------
  7. public Test()
  8. {
  9.  init();
  10. }
  11. //-------------------------------------------
  12. // methodes
  13. //-------------------------------------------
  14. private void init()
  15. {
  16.  mTextArea = new JTextArea("vide" );
  17.  mTextArea.setEditable( false );
  18.  this.getContentPane().add( mTextArea );
  19.  this.addKeyListener( new KeyAdapter()
  20.   {
  21.    public void keyPressed(KeyEvent aKeyEvent)
  22.    {
  23.     mTextArea.setText( aKeyEvent.paramString() );
  24.    }
  25.   }
  26.  );
  27.  this.addWindowListener( new WindowAdapter()
  28.  {
  29.   public void windowClosed(WindowEvent aWindowEvent)
  30.   {
  31.    System.exit( 0 );
  32.   }
  33.  }
  34.  );
  35.  this.pack();
  36. }
  37. //-------------------------------------------
  38. // main
  39. //-------------------------------------------
  40. public static void main(String[] args)
  41. {
  42.  Test oTest = new Test();
  43.  oTest.show();
  44. }
  45. }

n°772993
boubavic
Posté le 22-06-2004 à 17:20:01  profilanswer
 

le soucis c'est que ma status bar n'est pas un objet comme un JTextField ou un JTextArea... c'est un JPanel ... donc peut qu'il doit falloir mettre un focus dessus ...mais ca serait idiot ...franchement j'ai du mal a comprendre ce qui cloche ...

n°773006
elfe_des_m​ontagnes
Posté le 22-06-2004 à 17:32:57  profilanswer
 

re voici un autre bout de code avec un jtextarea dans un classe qui dérive d'un JPanel ( pour vaguement simuler MyStatusBar).
Par contre si cela d'aide toujours pas il faudrait que publie ton code sur le forum
 
 

Code :
  1. public class Test extends JFrame
  2. {
  3. JMyPanel mMyPanel;
  4. // -------------------------------------------
  5. // CONSTRUCTEUR
  6. // -------------------------------------------
  7. public Test()
  8. {
  9.  init();
  10. }
  11. //-------------------------------------------
  12. // methodes
  13. //-------------------------------------------
  14. private void init()
  15. {
  16.  mMyPanel = new JMyPanel();
  17.  this.getContentPane().add( mMyPanel );
  18.   this.addKeyListener( new KeyAdapter()
  19.   {
  20.    public void keyPressed(KeyEvent aKeyEvent)
  21.    {
  22.     mMyPanel.setText( aKeyEvent.paramString() );
  23.    }
  24.   }
  25.  );
  26.  this.addWindowListener( new WindowAdapter()
  27.  {
  28.   public void windowClosed(WindowEvent aWindowEvent)
  29.   {
  30.    System.exit( 0 );
  31.   }
  32.  }
  33.  );
  34.  this.pack();
  35. }
  36. //-------------------------------------------
  37. // main
  38. //-------------------------------------------
  39. public static void main(String[] args)
  40. {
  41.  Test oTest = new Test();
  42.  oTest.show();
  43. }
  44. }
  45. -----------------------------------------------------------
  46. public class JMyPanel extends JPanel
  47. {
  48. JTextArea mTextArea;
  49. //----------------------
  50. // CONSTRUCTEUR
  51. //----------------------
  52.   public JMyPanel()
  53.   {
  54. init();
  55.   }
  56.  
  57. //-----------------------
  58. // methodes
  59. //-----------------------
  60. private void init()
  61. {
  62.  mTextArea = new JTextArea("vide" );
  63.  mTextArea.setEditable( false );
  64.  this.add( mTextArea );
  65. }
  66. public void setText( String aString )
  67. {
  68.  mTextArea.setText( aString );
  69. }
  70. }

n°773031
boubavic
Posté le 22-06-2004 à 17:54:01  profilanswer
 

je vais voir ce que ca donne merci de te decarcasser pour moi


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] Pb recuperation evenement clavier

 

Sujets relatifs
[java] Reseau : j'ai pas la meme chose avec java qu'en telnet...lister un repertoir en java
[Java] import d'informations d'une page WebBp de compilation de classe java
[java 3D] java.lang.NoClassDefFoundError : sun/awt/DrawingSurface[java] performance d'une copie de fichier
[Java]oloriser de manière différente différentes parties d'un textArea[Java] coincé avec un gridbagLayout
Evenement MouseMouve pas tres clair[JAVA] Le lancement de la JVM fait rebooter le PC !
Plus de sujets relatifs à : [JAVA] Pb recuperation evenement clavier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR