comment afficher un panel sur un graphics ?

comment afficher un panel sur un graphics ? - Java - Programmation

Marsh Posté le 15-12-2004 à 23:44:52    

Bonsoir à tous,
 
voici la situation :
dans mon application, j'ai une classe Fenetre qui dérive de JPanel et qui va afficher tout un tas d'éléments : texte, images,... mais aussi des éléments qui sont eux mêmes des dérivés de JPänel (ou JLabel)...
 
Mon problème est de pouvoir placer ces éléments (dérivés de JPanel ou JLabel) à un endroit défini, pour celà j'avais penser utiliser un "Layout null", et comme cela je pourrai ensuite utiliser la méthode "setBounds(int x, int y, int height, int width)".
 
Le problème vient du fait que pour afficher mes autres éléments (texte et images) j'ai besoin de dessiner sur le Graphics de ma Fenetre à l'aide de la méthode paintComponent...
 
Je ne sais pas trop comment faire, d'autant plus que les Elements dérivés de JPanel ne sont connus qu'au moment de l'affichage !
 
Il faudrait donc que dans ma méthode paintComponent je puisse à la fois dessiner du texte et des images mais aussi ajouter des dérivés de JPanel...
 
Je ne sais pas trop comment faire... si quelqu'un avait une idée ?
 
merci d'avance
 
                       Baba

Reply

Marsh Posté le 15-12-2004 à 23:44:52   

Reply

Marsh Posté le 16-12-2004 à 09:19:14    

Ce qui est sur tu ne peux pas en meme temps dessiner et placer des composants dans le meme JPanel; ça ne marchera pas, que quelqu'un me corrige si je dis une connerie
 
Tu peux (Si ton appli reste la meme)essayer de faire deux Fenetres (Une pour le dessin et l'autre pour le plcaement de composants JPanel,JLabel,...) et les mettre dans une Fenetre.
 
Voili voilou
 
A+

Reply

Marsh Posté le 16-12-2004 à 10:11:59    

C'est bien se que je pensais.
 
Pour le coup des 2 Fenetre comme mes composants ne sont pas groupés dans des zones précises, il faudrait qu'un des deux soit transparent, j'avais pensé à un GlassPane...

Reply

Sujets relatifs:

Leave a Replay

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