Pb redimensionnement Panel

ladoud32 Messages postés 3 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 10 septembre 2004 - 27 août 2004 à 12:12
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 27 août 2004 à 23:06
Mon probleme est simple :
Il concerne deux classes qui etendent JPanel, la premiere classe s'appelle PlancheAgenda.
J'ai créé un objet de cette classe qui est contenu dans une JinternalFrame.
Cet objet de type PlancheAgenda contient deux objets de type ChartPanel qui est aussi une classe qui etend JPanel. Le premier est mis dans la partie nord du BorderLayout de mon objet PlancheAgenda et le second dans la partie Centre.

Voila pour le principe.

Le probleme est le suivant :
Lorsque je redimensionne la JinternalFrame j'ai mon premier objet de type ChartPanel qui se redimensionne comme il faut, mais le second qui est dans la partie centrale ne se redimensionne pas automatiquement. Pourtant la methode paint est bien appellée :
puisque j'affiche la methode getSize() dans le paint, et il me retourne bien la taille de l'objet. Le probleme est que cette taille ne tient pas compte du redimensionnement de la fenetre.
Pourtant la classe qui a servi a la creation des deux objets est la meme c'est la classe ChartPanel !!!!!!
Alors pourquoi y en a un qui se redimensionne correctement et pas l'autre ????

Pour que le second se redimensionne aux nouvelles tailles il faut soit y cliquer dessus soit a nouveau redimmensionner la fenetre mais dans ce cas mon objet aura un coup de retard puisqu'il s'affichera avec les valeurs de la fenetre du redimmensionnement precedent !

Donc voila j'y comprend rien !

Pour info dans la methode paint de ma classe PlancheAgenda je fais juste :
super.paint(g);

Et dans la methode paint de la classe ChartPanel je fais

super.paint(g);
drawGraph(g);//qui est la methode permettant de dessiner les elements de mon ChartPanel.

Voila je pense avoir tout dis, j'espere avoir été a peu pres clair, si quelqu'un a la moindre idée elle sera la bienvenue.

Merci d'avance

doudou

2 réponses

Frouf85 Messages postés 106 Date d'inscription mardi 6 mai 2003 Statut Membre Dernière intervention 7 octobre 2004
27 août 2004 à 12:49
tu n'es pas obligé de faire super.paint();
Je pense qu'il faudrait que tu fasse ton paint après l'ajout d'objet dans ta fenêtre.
Frouft
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
27 août 2004 à 23:06
GodConan :clown)

en fait c pas ton panel qui ne se redim pas ;o) mais plutot ton dessin
le panel lui change bien si tu veu le verifier tu fai un setBackground( Color.red ) par exemple et tu vera du rouge autour de ton dessin ceci dit par la suite il vau mieu enlever lappel a super et remplir le fond toi meme tu gagnera en perf... ;o)

dc es tu sur de dessiner ton char en fonction de la taille de ta fenetre ds ta methode drawGraph(g) ??!!

Autrement g poster sur ce site un exemple de ce type avec utilisation d offsreen tu peu y trouver une reponce je pense ... ;o)

http://www.javafr.com/code.aspx?ID=21833

++
0
Rejoignez-nous