IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo

FAQ JavaFXConsultez toutes les FAQ

Nombre d'auteurs : 4, nombre de questions : 507, dernière mise à jour : 2 novembre 2016  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur le forum JavaFX de http://java.developpez.com ainsi que l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.

Sur ce, nous vous souhaitons une bonne lecture.

SommaireSceneGraphUtilisation avancéeInclure SceneGraph dans SWT (4)
précédent sommaire suivant
 

Pour tester si l’intégration avec SWT est supportée par votre plateforme, vous pouvez invoquer la méthode isSupported() de la classe javafx.application.Platform en lui passant en paramètre la valeur javafx.application.ConditionalFeature.SWT :

Code Java : Sélectionner tout
Platform.isSupported(ConditionalFeature.SWT);

Note : cette méthode ne teste pas la présence des runtimes SWT.

Mis à jour le 16 septembre 2014 bouye

Depuis JavaFX 2.1, il est possible d'inclure des nœuds SceneGraph dans un composant ou une IU SWT. Cette solution est destinée à permettre d’étendre les fonctions RIA de SWT ou encore de lui ajouter le support de HTML5 ou de permettre d'utiliser la bibliothèque de graphiques statistiques fournie avec JavaFX.

Vous devez insérer vos nœuds JavaFX dans une scène comme à l'ordinaire, puis vous devez insérer cette scène dans un Drawable de type javafx.embed.swt.FXCanvas.

Par exemple :

Code Java : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Test { 
    private static Scene createScene() { 
        final Group group = new Group(); 
        final Scene scene = new Scene(group); 
        final Button button = new Button("JFX Button"); 
        group.getChildren().add(button); 
        return scene; 
    } 
  
    public static void main(String[] args) { 
        final Display display = new Display(); 
        final Shell shell = new Shell(display); 
        shell.setLayout(new FillLayout()); 
        final FXCanvas canvas = new FXCanvas(shell, SWT.NONE); 
        final Scene scene = createScene(); 
        canvas.setScene(scene); 
        shell.open(); 
        while (!shell.isDisposed()) { 
            if (!display.readAndDispatch()) display.sleep(); 
        } 
        display.dispose(); 
    } 
}

Pour utiliser la classe FXCanvas, votre projet doit dépendre de la bibliothèque jfxswt.jar disponible dans le répertoire %JDK_HOME%\jre\lib (sous Windows) ou $JDK_HOME/jre/lib (pour les systèmes dérivés d'UNIX).

Par ailleurs, si votre projet n'est pas un plugin ou une application RCP, vous devrez ajouter une dépendance vers la bibliothèque org.eclipse.swt.win32.xxx.jar.

Mis à jour le 15 mars 2015 bouye Mickael Baron

Cette conversion peut se faire en invoquant la méthode statique toFXImage() de la classe utilitaire javafx.embed.swt.SWTFXUtils.

Code Java : Sélectionner tout
final WritableImage imageFX = SWTFXUtils.toFXImage(imageSWT, null);

Le second paramètre de la méthode peut être une instance de WritableImage préallouée qui recevra le contenu de l'image source. Si ce paramètre a la valeur null, une nouvelle image aux dimensions appropriées sera créée.

Mis à jour le 15 mars 2015 bouye

Cette conversion peut se faire en invoquant la méthode statique fromFXImage() de la classe utilitaire javafx.embed.swt.SWTFXUtils.

Code Java : Sélectionner tout
final ImageData imageSWT= SWTFXUtils.fromFXImage(imageFX, null);

Le second paramètre de la méthode peut être une instance de ImageData préallouée qui recevra le contenu de l'image source. Si ce paramètre a la valeur null, une nouvelle image aux dimensions appropriées sera créée.

Mis à jour le 15 mars 2015 bouye

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2024 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.