J'ai une Map<String,String> dans laquelle je stocke des valeurs par défaut pour des composants Swing du style:

compo1,"test1"
compo2,"test2"
compo3,"test3"
...

J'aimerai parcourir les sous-composants d'un JPanel, et en fonction de la propriété name, setter la valeur stockée dans la map sur chaque composant.
Le problème c'est que mon JPanel va contenir de façon indifférencié des textfields, des combobox, des labels etc et donc la méthode pour setter la valeur est spécifique à chaque composant.


Je cherche donc un moyen élégant de pouvoir setter la valeur de ces composants.

Sol1: Je pourrai surcharger tout les composants Swing et leur faire implémenter une interface qui contiendrait une méthode 'setValue' mais je voudrais éviter de devoir étendre tous les composants.

sol2: Je pourrai faire un grand if, me baser sur des instanceof et caster mes components pour pouvoir appelé le bon setter. Je pense que c'est la piste à suivre mais je cherche un moyen plus élégant


Quelqu'un aurait une idée ?

merci !