parcours d'objet

parcours d'objet - Java - Programmation

Marsh Posté le 17-01-2005 à 11:31:24    

bonjour à tous
je suis en train de réaliser un programme sous jbuilder
je construit un jpanel qui va contenir des boutons qui seront construits grâce à un constructeur que j'ai réalise
 
 
jpanel :

Code :
  1. String nomB = "CREER,SUPPRIMER,MODIFIER";
  2. StringTokenizer st1 = new StringTokenizer(nomB,"," );
  3. while (st1.hasMoreTokens()){
  4. String nom = st1.nextToken();
  5. this.add(new Bouton(nom));}


 
 
bouton :

Code :
  1. public Bouton(String nom) {
  2.     this.setText(nom);}


 
 
jusque là je n'ai aucun problème et mes boutons se dessinent.
mais je voudrais maintenant parcourrir le contenu de mon jpanel pour par exemple desactiver le bouton ayant pour texte CREER.
comment est-ce possible vu que je ne connais pas les noms de mes boutons ?
existe-t-il des propriétés de mon jpanel qui permettent de parcourrir les objets d'un certain type ?
merci de votre aide  :bounce:  

Reply

Marsh Posté le 17-01-2005 à 11:31:24   

Reply

Marsh Posté le 17-01-2005 à 11:46:24    

Le plus simple est de garder une référence sur tes boutons !
Initialises-les un par un plutôt que dans une boucle.
 
Sinon il y a tout une tripotée de méthodes sur la classe [i]Container[i] qui permettent d'énumérer les composants fils d'un autre container.

Reply

Marsh Posté le 17-01-2005 à 11:49:02    

bein le pb c que le nombre de boutons peut varier et le but et de n'avoir qu'à modifier nomB qui contient le nom des boutons pour que tous les boutons se créent automatiquement

Reply

Marsh Posté le 17-01-2005 à 12:13:52    

Tu mets tes boutons dans un tableau ou arrayList ou autre si tu veux garder une référence sur un ensemble de boutons.

Reply

Marsh Posté le 17-01-2005 à 12:35:45    

Tu peux peut-être utiliser une Map pour garder les refs sur tes boutons. Comme ça tu accèdes aux instances via la clé String du bouton


---------------
get amaroK plugin
Reply

Marsh Posté le 17-01-2005 à 13:25:55    

merci beaucoup de votre aide

Reply

Marsh Posté le 17-01-2005 à 14:38:27    

sinon y'a toujours ca : http://java.sun.com/j2se/1.4.2/doc [...] mponents()
 
ca répond a la question initiale, mais il vaut mieux faire comme dit au dessus, avec une map ou une list

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed