web-dev-qa-db-fra.com

Comment créer un projet JavaFX Maven dans IntelliJ IDEA?

Comment puis-je ouvrir un projet JavaFX Maven à partir de zéro dans IntelliJ IDEA? Comme il n'y a pas de différence entre un projet Java et un projet JavaFx, je souhaite ouvrir un projet JavaFX dédié (sélection JavaFX de l'assistant de création de projet) avec le module Maven inclus.

17
fatCop

Bien que daté, je réponds à cette question car j'avais récemment posé la même question et trop de gens m'ont dit d'écrire mon propre fichier pom, etc. Bien que cela soit techniquement vrai, cela peut créer plus de maux de tête si vous ne faites pas attention.

Je te recommande:

  1. Créez un projet JavaFX comme vous le feriez normalement.
  2. Assurez-vous que la vue du projet (liste déroulante dans la fenêtre d'outils côté structure du projet) est définie sur ' Projet ' ou ' Packages '(sinon l'option à la 4ème étape ne sera pas visible)
  3. Puis une fois qu'il est ouvert et prêt, faites un clic droit sur le dossier du projet
  4. Allez dans "Ajouter un support de framework ...".
  5. Cochez la case pour Maven et cliquez sur "OK".

Laissez IntelliJ faire le travail pour vous à ce stade.

Quant à l'édition des fichiers FXML, liez le IDEA à SceneBuilder. Ici est la documentation officielle. Mais en gros:

  1. Installer Scene Builder .
  2. Fichier -> Paramètres -> Langues et cadres -> JavaFX
  3. Pointez sur le fichier exe.

Pour utiliser: Faites un clic droit sur le fichier FXML et sélectionnez "Ouvrir dans SceneBuilder" (en bas en bas)

63
Menefee

Et après tout, un programme n'est pas compilé. Cette vidéo m'a donc aidé: Configuration de Maven pour Java FX

en mots: nous devons déplacer sample.fxml dans le dossier/resources. Et dans Main.Java, écrivez:

FXMLLoader loader=new FXMLLoader(getClass().getResource("/sample.fxml"));
9
SSpade

Ces étapes ont fonctionné pour moi (est un processus différent): 1. Créez un projet maven. 2. Dans le pom.xml généré, ajoutez ce qui suit:

`<build>
        <plugins>
            <plugin>
                <groupId>com.zenjava</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>8.7.0</version>
                <configuration>
                    <mainClass>your.package.with.mainclass</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>`

Cela ajoute un plugin maven pour javafx (plus d'informations: https://github.com/javafx-maven-plugin/javafx-maven-plugin )

  1. Créez dans votre dossier de ressources votre sample.fxml
  2. Créez votre classe de contrôleur pour sample.fxml et liez
  3. Prendre plaisir!
3
Ernest

Il me faut quelques heures pour trouver la bonne solution. Un grand merci à cette vidéo et à l'auteur: https://www.youtube.com/watch?v=qn2tbftFjno

Donc, suite à la vidéo ci-dessus, je voudrais recommander:

  1. Téléchargez le SDK JavaFX depuis https://gluonhq.com/products/javafx/
  2. Extraire le fichier Zip
  3. Dans la page de démarrage d'Intellij IDEA, sélectionnez Configurer/Structurer pour les nouveaux projets
  4. Sélectionnez Paramètres de plateforme/Bibliothèques globales
  5. Sélectionnez le bouton plus ("+")/Java
  6. Recherchez le dossier "lib" dans votre fichier Zip extrait et sélectionnez tous les fichiers ".jar" (sauf "src.Zip"), puis OK
  7. Définissez un nouveau nom pour la bibliothèque, disons "javafx-quelle que soit la version", puis Appliquer/OK
  8. Créez un projet JavaFX comme d'habitude.
  9. Sélectionnez la structure de fichier/projet ...
  10. Dans Paramètres du projet/Projet, n'oubliez pas de sélectionner le SDK de projet approprié et le niveau de langue du projet
  11. Dans Paramètres de la plateforme/Bibliothèques globales, cliquez avec le bouton droit sur la bibliothèque "javafx-quelle que soit la version" (que vous avez déjà ajoutée), choisissez Ajouter aux modules .../OK
  12. Basculez vers Paramètres/modules du projet, choisissez Appliquer/OK
  13. De retour à votre chef de projet, faites un clic droit sur "src" /New/module-info.Java
  14. Ajoutez de nouvelles lignes au corps de module-info.Java:
requires javafx.fxml; 
requires javafx.controls; 
opens sample;
  1. Exécutez le projet et profitez-en!
1
Cong