Le Lundi 10 F�vrier 2003 13:25, Yannick Emeriaud a �crit :
> Bonjour,
>
> Je souhaiterais cr�� un composant graphique personnalis�.
>
> Par exemple un JTextField suivi d'une image sous forme de JLabel.
> J'aimerais que lorsque ce composant s'affiche, on ait toujours le
> JTextfield puis l'image accoll�e (ceci ind�pendamment du layout). Comme
> si ce composant n'�tait qu'un.
> Je ne vois pas trop comment faire.
>
Il suffit de te cr�er un panneau qui h�rite de JPanel - et non pas de
JComponent - dans lequel tu d�finis toi m�me le layout. En red�finissant la
m�thode setLayout, tu peux empecher l'ext�rieur de modifier le layout, si tu
veux.
> Ma premi�re id�e est de cr�er une classe comme ceci :
> -----------------------------------------
> class MonComposant extends JComponent{
Ici JPanel � la place de JComponent.
> private JTextField nom;
> private JLabel iconeNom=new JLabel("une_image");
>
> // ... constructeurs ...
>
D�fini une m�thode "initialise" (par exemple) dans laquelle tu positionnes tes
composants selon la disposition que tu voudras.
> public void paint(Graphics g){
> nom.paint(g);
> iconeNom.paint(g);
> }
Supprime cette horreur !
>
> Mais les deux "paint" ne me garantissent pas l'"union" des deux
> composants.
>
> Comment pourrais-je faire ?
>
Pour ton composant utilise un BoxLayout, un GridLayout ou un BorderLayout de
fa�on tout � fait normale.
--
SARL diaam informatique - 04 50 77 12 60
Ingenierie, d�veloppements de syst�mes d'information
http://www.diaam-informatique.com