Java : redimensionnement d'un Canvas3D - Java - Programmation
MarshPosté le 08-11-2006 à 17:21:44
Bonjour,
Je dessine actuellement une interface graphique en utilisant les bibliothèques java AWT/SWING. Cette interface comporte entre autre un Canvas3D pour afficher du java3D. J'ai créé une classe qui étend le Canvas3D et qui implémente l'interface ComponentListener. Cette interface est sensée permettre la gestion des evenements suivants : componentHidden ComponentMove ComponentResized (celui qui m'interesse) ComponentShown
Voici le code de la classe en question, peut etre que cela pourra vous aider :
Code :
class DrawArea extends Canvas3D implements ComponentListener
{
public DrawArea ()
{
super (SimpleUniverse.getPreferredConfiguration());
addComponentListener (this);
}
publicvoid componentHidden(ComponentEvent e)
{}
publicvoid componentMoved(ComponentEvent e)
{}
publicvoid componentResized(ComponentEvent e)
{
// Affiche la taille du Canvas3D
System.out.println ("S - height = "+getHeight());
System.out.println ("S - width = "+getWidth());
}
publicvoid componentShown(ComponentEvent e)
{}
}
Le problème est le suivant : Lorsque la fenetre principale est agrandie, le Canvas3D s'agrandi également, la fonction "ComponentResized" est bien appelée. Cependant, lorsqu'ensuite la taille de la fenetre est diminuée, le Canvas ne l'est pas et la fonction "ComponentResized" n'est pas appelée. Pourquoi ?
Marsh Posté le 08-11-2006 à 17:21:44
Bonjour,
Je dessine actuellement une interface graphique en utilisant les bibliothèques java AWT/SWING. Cette interface comporte entre autre un Canvas3D pour afficher du java3D.
J'ai créé une classe qui étend le Canvas3D et qui implémente l'interface ComponentListener. Cette interface est sensée permettre la gestion des evenements suivants :
componentHidden
ComponentMove
ComponentResized (celui qui m'interesse)
ComponentShown
Voici le code de la classe en question, peut etre que cela pourra vous aider :
Le problème est le suivant :
Lorsque la fenetre principale est agrandie, le Canvas3D s'agrandi également, la fonction "ComponentResized" est bien appelée. Cependant, lorsqu'ensuite la taille de la fenetre est diminuée, le Canvas ne l'est pas et la fonction "ComponentResized" n'est pas appelée. Pourquoi ?