Bonsoir,
Je voudrais détécter qu'une touche de clavier est appuyée puis afficher le
code de cette touche (ex F1.. etc)avec System.out.println
Tout ça dans la methode main sans passer par les interfaces graphiques.
comment faire ?
merci d'avance
Bonsoir,
Je voudrais détécter qu'une touche de clavier est appuyée puis afficher le
code de cette touche (ex F1.. etc)avec System.out.println
Tout ça dans la methode main sans passer par les interfaces graphiques.
comment faire ?
merci d'avance
alors je suis preneur d'une solution facile pour arriver à mon but
Salut quelle plateforme est visée ? Tu peux éventuellement regarder charva qui possède des KeyListener aussi. A voir si c'est utlisable dans ton cas.
A plus
As-tu regarder du coté de system.in? L'entrée par défaut c'est le clavier.
En faisant quelque chose dans ce genre là:
C'est surement à amèliorer, c'est juste un idée comme ça.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int touche; BufferedInputStream monClavier=new BufferedInputStream(System.in); while((touche=monClavier.read())!=-1){ System.out(touche); if(touche=='q'){ monClavier.close() } }
Merci pour l'idée j'ai mis le code suivant:
Le résultat affiche "start". Après, il reste bloqué sur la ligne du While, pas d'exception ni rien. même en déboguant il reste bloqué sur la ligne while et n'avance pas.
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
32 package com.sdsi; import java.io.BufferedInputStream; import java.io.IOException; public class Touche { public static void main (String args[]){ System.out.println("start"); int touche; BufferedInputStream monClavier = new BufferedInputStream(System.in); try { while((touche = monClavier.read())!=-1){ System.out.println("while"); System.out.println(touche); if(touche=='q'){ monClavier.close(); } } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("end"); } }
Partager