resize event incorrecte avec un Canvas3D

resize event incorrecte avec un Canvas3D - Java - Programmation

Marsh Posté le 28-02-2007 à 19:59:23    

Bonjour,
 
Je developpe une interface graphique avec AWT/Swing. Un de mes panels est en realite un Canvas3D pour du java3D. J'ai besoin de connaitre sa taille chaque fois qu'il est redimmensionne. Pour cela je declare ma classe de la maniere suivante :

Code :
  1. final class DrawArea extends Canvas3D implements ComponentListener
  2. {
  3.     public DrawArea(final GraphicsConfiguration config)
  4.     {
  5.         super (config);
  6.         addComponentListener (this);
  7.     }
  8.     public final void componentHidden(ComponentEvent e)
  9.     {}
  10.     public final void componentMoved(ComponentEvent e)
  11.     {}
  12.     public final void componentResized(ComponentEvent e)
  13.     {
  14.         System.out.println ("drawArea width="+getWidth()+" , height="+getHeight());
  15.     }
  16.     public void componentShown(ComponentEvent e)
  17.     {}
  18. }


 
Lorsque le canvas grandit, getWidth() et getHeight() me renvoie bien les bonnes valeurs, par contre lorsqu'il diminue, les valeurs renvoyees ne diminuent pas. La scene se dessine donc comme si le Canvas3D etait toujours aussi grand et se retrouve alors coupe par le bord de la fenetre principale (un JFrame).
 
Je precise que ce Canvas3D est lui meme a l'interieur d'un panel organise a l'aide d'un box layout.
 
Quelqu'un a t'il deja rencontre ce probleme ? Est ce un bug de la JVM (et pourtant je viens de mettre la derniere MAJ) ?
 
Merci d'avance pour vos idees !

Reply

Marsh Posté le 28-02-2007 à 19:59:23   

Reply

Marsh Posté le 28-02-2007 à 20:30:24    

Je dois etre maudit des forums... jamais personne ne repond a mes questions.

Reply

Sujets relatifs:

Leave a Replay

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