Concatener des nom de variable

Concatener des nom de variable - Java - Programmation

Marsh Posté le 27-10-2008 à 15:25:05    

Bonjour,
 
Mon but est de modifier la valeurs de plusieurs Labels à l'aide d'une boucle ayant des noms communs finissant par un nombre.
Par exemple, prenons 3 nom de labels (id1, id2, id3)
 
On se retrouve avec la boucle suivante :
 

Code :
  1. for(i=1;i<6;i++){
  2.        id[i].setText(i);
  3. }


 
Mon idée est d'avoir une variable i qui fait une boucle, de concaténer id et i, puis de récupérer le composant portant ce nom.
 
Merci beaucoup !!
 
PS: J'utilise Netbeans pour créer les labels (je les renomme ensuite en id1, id2 ...).
PS 2 : J'ai vu que l'on pouvais également utiliser "getComponent" mais j'aimerais avoir quelque chose de plus simple si possible

Reply

Marsh Posté le 27-10-2008 à 15:25:05   

Reply

Marsh Posté le 27-10-2008 à 15:27:00    

tu as fait du PHP avant non ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 27-10-2008 à 15:36:49    

oui mais pourquoi cette question ?
Je n'arrive pas a concaténer un terme "id" et un chiffre pour ensuite utilisé ces propriétés, je ne vois pas de rapport avec le php.

Message cité 1 fois
Message édité par johnson950 le 27-10-2008 à 15:40:39
Reply

Marsh Posté le 27-10-2008 à 16:43:58    

johnson950 a écrit :

oui mais pourquoi cette question ?
Je n'arrive pas a concaténer un terme "id" et un chiffre pour ensuite utilisé ces propriétés, je ne vois pas de rapport avec le php.


Parce que ce genre de trucs est dégueulasse, complètement con, et typiquement le genre d'horreurs très utilisées en PHP.
 
Utilises un array ou une (Array)List, c'est fait pour ça, plutôt que ce genre d'horreurs.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 28-10-2008 à 11:58:06    

En plus on ne sais pas le but de la chose. :D
Parce que un foreach sur mon_panel.getComponents() peut suffir parfois..;


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
Reply

Marsh Posté le 28-10-2008 à 13:42:47    

masklinn a écrit :

Parce que ce genre de trucs est dégueulasse, complètement con, et typiquement le genre d'horreurs très utilisées en PHP.


Pas tout à fait, si je puis respectueusement marquer mon désaccord. Il est possible d'en faire qq chose de puissant, mais bien entendu, dans 99% des cas, on en fera un mauvais usage, brico-php powaa oblige.
 
Tu peux par exemple mapper dynamiquement un fichier de propriété vers des variables dans ton appli. C'est ce que fait un grand framework PHP si je me souviens bien. [:dawa]  


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 28-10-2008 à 14:07:25    

sircam a écrit :

Tu peux par exemple mapper dynamiquement un fichier de propriété vers des variables dans ton appli.


C'est complètement con, et strictement sans intérêt puisque tu peux mapper le fichier de propriétés dans une hashmap, ce qui revient au même sans fusiller le namespace global (qui est déjà franchement mal en point en PHP), sans risquer d'écraser des variables un peu partout, et en fournissant plus de possibilités/flexibilité (itérer sur toutes les propriétés par exemple)

sircam a écrit :

C'est ce que fait un grand framework PHP si je me souviens bien. [:dawa]


Paint me amazed [:pingouino][:bien]

Message cité 1 fois
Message édité par masklinn le 28-10-2008 à 14:08:21

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 29-10-2008 à 14:01:37    

masklinn a écrit :

strictement sans intérêt puisque tu peux mapper le fichier de propriétés dans une hashmap


 
Mouais, dans une hashmap... Et tu te trimballes avec des
 

Code :
  1. config.get("FOO" );


 
plutôt que d'avoir un
 

Code :
  1. $config->foo;


 
Comme tu veux. [:pingouino]  
 

masklinn a écrit :

et en fournissant plus de possibilités/flexibilité (itérer sur toutes les propriétés par exemple)


 
Soit le fichier de propriétés suivant :
 

user1.fname=John
user1.lname=Denver
user2.fname=Tom
user2.lname=Jones


 
Au lieu de
 

$config->user[i]->lname


 
On aura
 

config.get("user" + i + ".lname" )


 
Mouais. Question de choix. [:pingouino]  
 
 


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 29-10-2008 à 14:18:34    

sircam a écrit :

Mouais, dans une hashmap... Et tu te trimballes avec des

 
Code :
  1. config.get("FOO" );
 

plutôt que d'avoir un

 
Code :
  1. $config->foo;
 

Comme tu veux. [:pingouino]


Ce serait plutôt

Code :
  1. config.get("foo" )

mais bon ne te laisse pas arrêter par ça, et on va plutôt passer à la vraie mauvaise foi de qualité:

sircam a écrit :

Soit le fichier de propriétés suivant :

user1.fname=John
user1.lname=Denver
user2.fname=Tom
user2.lname=Jones


Au lieu de

$config->user[i]->lname


On aura

config.get("user" + i + ".lname" )


Mouais. Question de choix. [:pingouino]


 [:prozac]

 

C'est sûr que tu pourrais pas avoir un mapping qui donne

Code :
  1. config.get("user" )[i].get("lname" )


complètement impossible [:dawak]

 

edit: et de toute façon, java étant statiquement typé tu peux pas faire des trucs de ce genre, point barre, fin de la discussion.

Message cité 1 fois
Message édité par masklinn le 29-10-2008 à 14:19:23

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 29-10-2008 à 14:57:56    

masklinn a écrit :

point barre, fin de la discussion.


Je ne m'attendais pas vraiment à avoir une vraie discussion avec toi, vu le ton péremptoire affiché d'emblée -- au moins, on n'est pas trompé sur la marchandise. [:dawa] :jap:


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Sujets relatifs:

Leave a Replay

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