
FAQ JavaFXConsultez toutes les FAQ
Nombre d'auteurs : 4, nombre de questions : 86, dernière mise à jour : 18 mai 2009
Sommaire→SceneGraph→Noeuds→Composants Swing dans JavaFx
Swing et JavaFX utilise la meme API de rendue : Java2D.
Il est donc relativement simple d'intégrer un composant SWING dans une interface javaFX.
Première solution : utiliser l'outil fourni
import javafx.ext.swing.SwingComponent;
...
var swingfxComponent = SwingComponent.wrap( new MonComposantSwing() );
Stage {
scene: Scene{
content: Content[
swingfxComponent,
...
]
}
}
L'inconvénient de cette méthode est qu'il n'est pas possible de faire de binding sur les différentes variables de notre noeud car cela doit être fait à la creation.
Seconde solution : par héritage
import javafx.ext.swing.SwingComponent;
...
public class MonFXComponent extends SwingComponent{
/*on garde ici une reference public pour pouvoir acceder a notre composant*/
public-read var monComp : MonComposantSwing;
public override function createJComponent(): J2DMapVolatile{
monComp = new MonComposantSwing();
return monComp;
}
}
var swingfxComponent:MonFXComponent = MonFXComponent{
translateY: bind ...
translateX: bind ...
effect: ...
}
Stage {
scene: Scene{
content: Content[
swingfxComponent,
...
]
}
}
Si vous n'avez à afficher qu'un composant plus ou moins statique (JLabel, Image ...), il est préférable d'utiliser la première solution.
Si vous avez besoin de modifier le composant au cours de l'application, alors il vaut mieux utiliser la seconde solution.


















