Gosseyn
Messages : 286 Inscrit le 24/01/05
Ville : Grenoble
Non connecté
|
|
Posté le 19 août 2005 - 13 h 36 m 13 s |
|
|
Bonjour,
Je voudrais récupérer un tableau des objects selectionnés dans une JList.
J'ai une classe Item qui contient 2 champs: un code et un libellé. Les libllé sont affiché dans la JList.
Lors de la pression d'un boutons je recupere les items selectionnés avec la commande:
Item[] aItems = (Item[]) m_lstItems.getSelectedValues();
La compilation passe sans problème mais à l'execution j'ai une exception: java.lang.ClassCastException: [Ljava.lang.Object;
J'ai essayé de récupéré un Item à la fois avec la commande :
Item oItem = (Item) m_lstItems.getSelectedValue();
et ça marche parfaitement.
Ou est mon erreur? J'ai l'impression qu'elle est sous mes yeux mais impossible de la voir.
|
|
| |
Message édité 1 fois, la dernière par Gosseyn le 22 août 2005 - 09 h 45. |
| |
"Si vous perdez, ne perdez pas la leçon."
Gosseyn
|
gege38
- Ancien Modérateur -
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 114 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 19 août 2005 - 14 h 51 m 08 s |
|
|
Si j'étais toi, dixit l'API http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JList.html on voit qu'il retourne un Object[]...
Donc 2 possibilités : soit tu essaie de caster comme ceci (mais j'ai des doutes...) Item[] aItems = (Item)[] m_lstItems.getSelectedValues();
soit tu récupères un Object[] et ensuite tu accèdes à chaque élément en castant en Item...
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
Gosseyn
Messages : 286 Inscrit le 24/01/05
Ville : Grenoble
Non connecté
|
|
Posté le 19 août 2005 - 15 h 08 m 58 s |
|
|
Tout à fait, nous avons les memes lectures donc.
Donc 2 possibilités : soit tu essaie de caster comme ceci (mais j'ai des doutes...) Item[] aItems = (Item)[] m_lstItems.getSelectedValues();
|
En effet deja essayé et marche pô
soit tu récupères un Object[] et ensuite tu accèdes à chaque élément en castant en Item...
|
J'avais teste la recuperation de l'objet , qui marche d'ailleur, mais je n'avais effectivement pas pense à "caster" les elements recus. Je vais essayé.
BTW, une explication sur le pourquoi on ne peut caster le tableau reçu?
Merci de ton aide.
|
|
| |
Message édité 1 fois, la dernière par Gosseyn le 19 août 2005 - 15 h 10. |
| |
"Si vous perdez, ne perdez pas la leçon."
Gosseyn
|
Gosseyn
Messages : 286 Inscrit le 24/01/05
Ville : Grenoble
Non connecté
|
|
Posté le 22 août 2005 - 09 h 44 m 44 s |
|
|
C'est resolu, je recupere un Object et je cast chaque element ce qui fonctionne tres bien. Encore merci pour le coup de main.
|
|
| |
"Si vous perdez, ne perdez pas la leçon."
Gosseyn
|
gege38
- Ancien Modérateur -
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 114 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 22 août 2005 - 10 h 28 m 15 s |
|
|
Le 19 août 2005 - 15 h 08, Gosseyn a écrit :
BTW, une explication sur le pourquoi on ne peut caster le tableau reçu?
|
Peut-être qu'il n'hérite pas implicitement de la classe Object ? Sinon, je vois pas
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
Gosseyn
Messages : 286 Inscrit le 24/01/05
Ville : Grenoble
Non connecté
|
|
Posté le 23 août 2005 - 16 h 08 m 40 s |
|
|
Peut-être qu'il n'hérite pas implicitement de la classe Object ?
|
Oui mais dans ce cas meme le cast de l'Object seul ne marcherais pas. Non?
|
|
| |
"Si vous perdez, ne perdez pas la leçon."
Gosseyn
|
gege38
- Ancien Modérateur -
Chief of the (¯`·.__[T3aM.BouL3T©]__.·´¯) Potatoe Reloaded
Messages : 14 114 Inscrit le 05/02/03
Ville : Domène
Non connecté
|
|
Posté le 23 août 2005 - 17 h 08 m 12 s |
|
|
Exact...
Mmmm... Y a du bizarre là dedans
|
|
| |
" Nous plaisons plus souvent dans le commerce de la vie par nos défauts que par nos qualités. "
--La Rochefoucauld
|
Gosseyn
Messages : 286 Inscrit le 24/01/05
Ville : Grenoble
Non connecté
|
|
Posté le 23 août 2005 - 17 h 31 m 07 s |
|
|
|
|
|
| |
"Si vous perdez, ne perdez pas la leçon."
Gosseyn
|