Java Swing
amani
-
amani -
amani -
Bonjour,
J'aime bien récupérer la valeur d'un item sélectionné dans un comboBox ,GetSelectedItem récupère toujours la premiére valeur dans un JComboBox sans même le sélectionner alors j'ai ajouter un listener au "MyCombo"puis j'ai ajouté cette commande(getSelectedItem) :
public void actionPerformed(ActionEvent e)
{
ch=(String) combo.getSelectedItem();
}
ch retourne l'élément sélectionné et cela c'est que je veux mais le problème est que lorsque je veux utiliser la valeur de "ch" dans un autre endroit dans le code en dehors de"actionPerformed" elle est toujours considéré comme null même si ch est une variable public,j'ai examiné sa valeur avec println mais elle ne prend sa valeur de l'élément sélectionné que dans "actionPerformed" autre elle nulle!!
J'aime bien récupérer la valeur d'un item sélectionné dans un comboBox ,GetSelectedItem récupère toujours la premiére valeur dans un JComboBox sans même le sélectionner alors j'ai ajouter un listener au "MyCombo"puis j'ai ajouté cette commande(getSelectedItem) :
public void actionPerformed(ActionEvent e)
{
ch=(String) combo.getSelectedItem();
}
ch retourne l'élément sélectionné et cela c'est que je veux mais le problème est que lorsque je veux utiliser la valeur de "ch" dans un autre endroit dans le code en dehors de"actionPerformed" elle est toujours considéré comme null même si ch est une variable public,j'ai examiné sa valeur avec println mais elle ne prend sa valeur de l'élément sélectionné que dans "actionPerformed" autre elle nulle!!
A voir également:
- Java Swing
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
C'est surement un problème d'asynchronisme, la méthode actionPerformed est appelée au moment où l'action se produit et le reste du code est indépendant. On peut considérer deux états : avant l'action, où la valeur est null, et après l'action où la valeur est correcte. Selon à quel moment tu utilises cette valeur tu seras dans un cas ou dans l'autre. C'est pour cela qu'en général on fait le traitement complet à l'intérieur du listener avec des variables locales de manière à ne pas avoir d'effets de bords sur les variables globales.
amani
merci bcp Monsieur .
excusez moi si je pose beaucoup des questions mais je suis encore débutante et je veux bénéficier de votre expérience.
J'ai une autre question :p j'ai une méthode qui retourne les noms des énumérations présentes dans le code soit par exemple elle retourne un tableau nommé enum[] de type String[]. Je veux créé une autre méthode qui prend en paramètre un String qui est un enum[i] càd un nom d'une énumération, et je veux que cette méthode retourne les éléments de cette énumération.
Comment je peux le faire?
J'ai une autre question :p j'ai une méthode qui retourne les noms des énumérations présentes dans le code soit par exemple elle retourne un tableau nommé enum[] de type String[]. Je veux créé une autre méthode qui prend en paramètre un String qui est un enum[i] càd un nom d'une énumération, et je veux que cette méthode retourne les éléments de cette énumération.
Comment je peux le faire?