[Java] java.lang.NumberFormatException
Résolu
valentin2703
Messages postés
180
Date d'inscription
Statut
Membre
Dernière intervention
-
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
choubaka Messages postés 39442 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Cette erreur apparait quand je tente de faire une action avec mon programme. J'ai crée une petite interface pour changer les raccourcis attribués à mes JButton, JMenu, ...
Pour ce faire, j'utilise la méthode :
Ensuite je rentre une lettre dans un JTextField et je voudrais que cela change le raccourcis, dans mon actionperformed, je met donc :
Et la quand je veut changer mon raccourcis j'obtient l'erreur java.lang.NumberFormatException. Pourtant j'ai converti mon String au format Integer :(
Et la j'avoue avoir un peut tout tenter, donc si vous aviez quelques idées :D
Cette erreur apparait quand je tente de faire une action avec mon programme. J'ai crée une petite interface pour changer les raccourcis attribués à mes JButton, JMenu, ...
Pour ce faire, j'utilise la méthode :
public void changeButtonMnemonic(int newMnemo){ reset.setMnemonic(newMnemo); //reset ==> Bouton }
Ensuite je rentre une lettre dans un JTextField et je voudrais que cela change le raccourcis, dans mon actionperformed, je met donc :
raccourcis = JTEXTFIELD.getText(); key = "KeyEvent.VK_"+raccourcis; int intkey = Integer.parseInt(key); changeButtonMnemonic(intkey);
Et la quand je veut changer mon raccourcis j'obtient l'erreur java.lang.NumberFormatException. Pourtant j'ai converti mon String au format Integer :(
Et la j'avoue avoir un peut tout tenter, donc si vous aviez quelques idées :D
A voir également:
- Java.lang.numberformatexception for input string
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Input not supported - Forum Ecran
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
3 réponses
bonjour
C'est normal, ceci "key = "KeyEvent.VK_"+raccourcis", ne pourra jamais être converti en int..
pour qu'un string soit converti en int, il doit contenir un caractère représentant un chiffre.
Tu dois trouver une autre solution, vois plutôt du côtés des select case.. cumulés avec des conditions afin de ne pas se retrouver avec de trop long select case
tu peux également travailler avec des structures de données de type clef-valeur
du style
Clef -> Valeur
A -> KeyEvent.VK_A
B -> KeyEvent.VK_B
etc...
Chouba,
Rhâââgnagna
C'est normal, ceci "key = "KeyEvent.VK_"+raccourcis", ne pourra jamais être converti en int..
pour qu'un string soit converti en int, il doit contenir un caractère représentant un chiffre.
Tu dois trouver une autre solution, vois plutôt du côtés des select case.. cumulés avec des conditions afin de ne pas se retrouver avec de trop long select case
tu peux également travailler avec des structures de données de type clef-valeur
du style
Clef -> Valeur
A -> KeyEvent.VK_A
B -> KeyEvent.VK_B
etc...
Chouba,
Rhâââgnagna
Si j'ai bien compris tu essayes de mettre un caractère au format String dans une variable Int. Mais sauf erreur le parseInt ne marche pas pour du type String.
Il faut le passer en entier, donc en ASCII
valeurChar = (char)i;
valeurInt = (int)c;
Par contre je n'ai pas encore touché aux raccourcis donc je ne sais pas comment il doit récupérer la valeur derrière.
Il faut le passer en entier, donc en ASCII
valeurChar = (char)i;
valeurInt = (int)c;
Par contre je n'ai pas encore touché aux raccourcis donc je ne sais pas comment il doit récupérer la valeur derrière.
je vais essayer de te créer cette fameuse classe ce soir ...
si ça marche, tu me devras un pot ... ;-)
si ça marche, tu me devras un pot ... ;-)
ne cherche plus
https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html
je crois que c'est ce que tu cherches
https://docs.oracle.com/javase/tutorial/uiswing/events/keylistener.html
je crois que c'est ce que tu cherches
Je récupère le raccourcis dans un JComboBox (J'ai mis toutes les valeurs de F1-F12, A-Z, 0-9) de cette manière :
Ensuite je veut traiter le raccourcis quand j'appuie sur le Bouton "okquitter" :
Mais il me dit qu'on ne peut pas traiter une valeur String dans un Switch x)
à partir du SE 7, tu peux utiliser des strings