[JScrollPane] désactiver le comportement des touches flèches

cs_Tiaps Messages postés 5 Date d'inscription mercredi 17 septembre 2003 Statut Membre Dernière intervention 18 juin 2004 - 18 juin 2004 à 17:03
cs_Tiaps Messages postés 5 Date d'inscription mercredi 17 septembre 2003 Statut Membre Dernière intervention 18 juin 2004 - 18 juin 2004 à 17:10
Bonjour,
j'aimerais désactiver le comportement des touches flèches dans un JScrollPane. C'est à dire que si j'appuie surla touche bas, le viewport ne se décale pas vers le bas.

J'ai déjà essayé de retirer tous les keyListener du scrollPane et des scrollbar.

		KeyListener[] keyListeners = scrollPane.getKeyListeners();
for(int i=0;i< keyListeners.length;i++){
scrollPane.removeKeyListener(keyListeners[i]);
}



J'ai aussi essayé de modifier la InputMap de la scrollbar et du scrollPane

		InputMap map = scrollPane.getInputMap();
map.put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN,0),"none");
map.put(KeyStroke.getKeyStroke(KeyEvent.VK_UP,0),"none");
map.put(KeyStroke.getKeyStroke(KeyEvent.VK_LEFT,0),"none");
map.put(KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT,0),"none");



Merci d'avance

1 réponse

cs_Tiaps Messages postés 5 Date d'inscription mercredi 17 septembre 2003 Statut Membre Dernière intervention 18 juin 2004
18 juin 2004 à 17:10
C'est bon on m'as mis la réponse sur un autre forum :
		InputMap im = scrollPane.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
im.put(KeyStroke.getKeyStroke("UP"), "none");
im.put(KeyStroke.getKeyStroke("DOWN"), "none");
im.put(KeyStroke.getKeyStroke("LEFT"), "none");
im.put(KeyStroke.getKeyStroke("RIGHT"), "none");

0
Rejoignez-nous