2009-03-23 11 views
0

Je crée un programme qui permet à l'utilisateur de personnaliser les raccourcis clavier, pour cela, j'ai besoin des touches disponibles à afficher, quel est le meilleur moyen d'atteindre cela en swing java?Toutes les clés d'une liste, par exemple VK_A..Z pour l'utilisateur de sélectionner

KeyEvent.class.getDeclaredFields() 

Je suis intrested dans l'exemple ci-dessous dynamique,

keysLST.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "CTRL", "ALT", "SHIFT" })); 

d'une façon que je sais est d'obtenir tout de la classe KeyEvent mais je ne suis pas sûr de savoir comment l'intégrer à la liste. Toute aide serait appréciée.

Merci

Répondre

0

Au lieu de choisir dans une liste, ajoutez un KeyListener à un composant (un JTextField fonctionne) et enregistrer le code clé en tant que l'utilisateur appuie sur la touche. Vous pouvez également enregistrer des modificateurs (ctrl, alt, shift) de cette façon.

public void keyPressed(KeyEvent e) 
{ 
    int keyTheUserJustPressed = e.getKeyCode(); 

    // then use for ctrl/alt/shift 
    e.getModifiersEx(); 

    // or use 
    e.isAltDown(); 
    e.isShiftDown(); 
} 
+0

Salut basszero, je veux garder ce choix car ils seront utilisés plus tard par un robot, le robot envoie les clés qu'il lit dans la zone de liste ou de défaut est nul est sélectionné. – xusenm

+0

puis enregistrez le e.getKeyCode() dans une structure en dehors de l'écouteur – basszero

+0

Suite à une enquête plus approfondie, je pense que votre idée originale était bonne, il est plus facile pour l'utilisateur de cliquer sur les touches que de passer par une liste énorme. Merci pour l'aide! – xusenm