Herve AGNOUX wrote:
> Le Mardi 24 Septembre 2002 06:58, Remi Forax a �crit :
> 
> 
>>Les composants graphiques sont tous des beans, pour faciliter leurs
>>int�grations dans des IDEs. Donc cloner un bean reviens �,
>>cr�er une nouvelle instance par le constructeur par d�faut,
>>recup�rer chaque valeur du composant � cloner et les injecter dans
>>le composant nouvellement cr�er.
>>
>>Voila, la package java.beans et l� pour cela.
>>
> 
> 
> Moi je trouve que cette technique s'apparente � "pourquoi faire simple quand 
> on peut faire compliqu�" ! Pareil pour la s�rialization, d'ailleurs, mais 
> c'est peut �tre finalement la plus facile... si elle marche...
> 
> Et je ne vois rien dans le java.beans qui me facilite vraiment la t�che... 
> Faire de l'introspection avec l'aide du BeanInfo ?... Faire de 
> l'instrospection pour faire un clone !? C'est Total Louf !

completement d'accord, c'est compliqu�, mais je ne crois pas
qu'il y est mieux.

> 
> D'autant plus que ce n'est pas aussi simple : si je prends la position, par 
> exemple, getBounds me renvoie un objet Rectangle. Si je l'injecte directement 
> dans mon nouveau JComponent, tout le monde aura le m�me objet Rectangle. Donc 
> si je modifie la position de l'un, automatiquement la position de l'autre va 
> �tre modifi�e.

et non, cf doc de setBounds()

> Pour palier � �a, il faudra que je fasse un clone (en esp�rant 
> ne pas �tre oblig� de repasser par un BeanInfo ! ) du rectangle. Hors rien 
> dans le BeanInfo me dit qu'il faut que je le fasse. Seul moi le "sais". Donc 
> je peux m�me pas faire de traitement g�n�rique � partir du BeanInfo !
> 
> Pourtant c'est un probl�me qui me semble assez courant au d�part : j'ai un 
> panneau ; l'utilisateur veut faire tel et tel traitement dans une fen�tre de 
> dialogue ; je lui pr�sente dans la fen�tre une pr�visualisation de ce qu'il 
> fait, et s'il est content, hop il valide tout. On voit �a dans word, gimp, 
> photoshop...

pas bien compris tu peux mieux expliquer.
Pourquoi ne pas changer le parent de ton truc de visualisation.
Par d�faut, lorsquon fait un add d'un composant, si celui-ci est d�j�
dans une autre hi�rarchie, il est enlever de celle-ci avant d'�tre
ins�rer dans la nouvelle.

> 
> Excusez-moi de demander un cours de base Java, mais pour faire �a, en Java, 
> on fait comment ? BeanInfo ou Serialization sp�cifique !?
> 
> 

Remi


Répondre à