cs_Lorine
Messages postés17Date d'inscriptionlundi 12 janvier 2009StatutMembreDernière intervention10 novembre 2009
-
6 juin 2009 à 00:12
cs_Lorine
Messages postés17Date d'inscriptionlundi 12 janvier 2009StatutMembreDernière intervention10 novembre 2009
-
6 juin 2009 à 19:08
Bonjour voici mon problème
J'ai
20 label nommé LaX
20 label nommé LtX
20 textfield nommé TxX
mon problème est que je dois en java tous les mettre en setVisible(false)
est-ce possible et comment faire avec un boucle for? ce qui me donnerai trois boucle plutôt que 60 ligne
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 6 juin 2009 à 12:04
Tu déclare une liste, et t'y stocke tes contrôles :
List<JComponent> listeComposants = new LinkedList<JComponent>();
JLabel labelNom = new JLabel("nom");
tonPanel.add(labelNom); // ca c'est le code de création de tes labels par exemple
listeComposants.add(labelNom); // là tu ajoute aussi le label dans la liste des composants
Ainsi quand tu le veux :
for (JComponent component : listeComposants) {
component.setVisible(false); // et hop, le composant devient invisible
}
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 6 juin 2009 à 18:03
Pour utiliser la méthode getText, il faut caster les objets renvoyé par la List : Rappelle toi ta déclaration : la List contient des JComponent et non des JLabel !
cs_Lorine
Messages postés17Date d'inscriptionlundi 12 janvier 2009StatutMembreDernière intervention10 novembre 2009 6 juin 2009 à 18:08
component.setVisible(false);
le seul détail qui change c'est que je veux en récupérer un bien précis je dois ajouter component[1].setVisible(false);
ou quelque chose dans le genre pour le getText?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 6 juin 2009 à 18:53
Je te l'ai dit : regarde bien la déclaration de ton List (List<JComponent>, et non : List<JLabel>), du coup quand tu fais : taListe.get(1), ca te renvoie un JComponent et non un JLabel, il ne tient plus qu'à toi de caster l'objet renvoyé en JLabel (en étant sûr qu'il s'agit d'un JLabel et non un autre JComponent, sinon gare au ClassCastException) :
JLabel label = (JLabel) taListe.get(1);
cs_Lorine
Messages postés17Date d'inscriptionlundi 12 janvier 2009StatutMembreDernière intervention10 novembre 2009 6 juin 2009 à 19:08
JLabel label = (JLabel) LtListe.get(iPoint);
Text3.setText(label.getText());
compris
désolé si la pièce met du temps a tombé mais j'ai besoin de beaucoup de ligne pour comprendre
en tout cas merci j'avance beaucoup grâce à toi