Convertir char en string java.
Fermé
Hugueprime
Messages postés
12
Date d'inscription
lundi 7 août 2017
Statut
Membre
Dernière intervention
3 avril 2020
-
Modifié le 10 févr. 2018 à 00:21
Hugueprime Messages postés 12 Date d'inscription lundi 7 août 2017 Statut Membre Dernière intervention 3 avril 2020 - 10 févr. 2018 à 22:20
Hugueprime Messages postés 12 Date d'inscription lundi 7 août 2017 Statut Membre Dernière intervention 3 avril 2020 - 10 févr. 2018 à 22:20
A voir également:
- Convertir char en string java.
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Convertir youtube en mp3 avec audacity - Guide
- Java apk - Télécharger - Langages
- Waptrick jeux java itel ✓ - Forum Mobile
1 réponse
KX
Messages postés
16752
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
31 août 2024
3 019
10 févr. 2018 à 00:29
10 févr. 2018 à 00:29
Bonjour,
Là le problème n'est même pas dans la conversion entre char et String, c'est que tu essayes de mettre un KeyEvent dans un String, ce qui n'a rien à voir du tout.
Il faudrait utiliser la méthode getKeyChar() de l'objet KeyEvent pour récupérer le char correspondant.
https://docs.oracle.com/javase/9/docs/api/java/awt/event/KeyEvent.html#getKeyChar--
Remarque : Java ne travailles pas en ASCII mais en UTF-16.
Là le problème n'est même pas dans la conversion entre char et String, c'est que tu essayes de mettre un KeyEvent dans un String, ce qui n'a rien à voir du tout.
Il faudrait utiliser la méthode getKeyChar() de l'objet KeyEvent pour récupérer le char correspondant.
https://docs.oracle.com/javase/9/docs/api/java/awt/event/KeyEvent.html#getKeyChar--
textbox.addKeyListener(new KeyAdapter() { @Override public void keyTyped(KeyEvent keyEvent) { System.out.println(keyEvent.getKeyChar()); } });
Remarque : Java ne travailles pas en ASCII mais en UTF-16.
10 févr. 2018 à 11:19
Comment puis-je faire ? Merci
Modifié le 10 févr. 2018 à 13:10
Il n'y a pas besoin de conversion, les caractères sont déjà en UTF-16, mais tu demandais "a les convertir en ascii" ce qui n'a de sens que pour les 128 premiers caractères (qui sont commun avec l'Unicode) mais pour tous les autres ce ne sera pas de l'ASCII.
"me donne que les lettres tapé, je ne peux pas avoir des nombre a la place des caractère ?"
À partir du moment où tu as ton char, tu peux faire la conversion avec ton cast (int) comme tu l'avais fait avec ton code précédent :
"je n'arrive toujours pas a récupéré la pression de la touche ctrl, alt"
Parce que ce ne sont pas des caractères, or la méthode keyTyped ne récupère que les caractères.
Si tu veux récupérer les touches du clavier (ou les combinaisons de touches de celles-ci), tu devrais plutôt regarder les méthodes keyPressed et keyReleased.
Voir la documentation : https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html
Par exemple, si keyPressed détecte que tu appuies sur VK_UP (touche majuscule) puis VK_A, keyTyped va récupérer le caractère 'A' et keyReleased va détecter que tu relâches VK_A puis VK_UP.
Autre exemple, keyPressed détecte l'appuie sur VK_CIRCUMFLEX, keyReleased sa relâche, keyPressed détecte l'appuie sur VK_E, keyTyped récupère le caractère 'ê' et keyReleased la relâche de VK_E.
10 févr. 2018 à 22:20