Comment faire pour convertir un java normal de projet dans l'ide, dans un JavaFx projet
Je suis actuellement en utilisant une normale projet java (gradle projet) et que vous souhaitez le convertir en un JavaFx projet sans avoir à les réimporter les sources existantes dans une nouvelle Javafx projet. Est-il un moyen pour y parvenir?
Je ne crois pas qu'il y a une différence dans l'Idée entre un "normal" projet Java et JavaFX projet.
Sûr, dans l'Idée 12.x+ y est un assistant, vous pouvez utiliser pour créer un nouveau JavaFX projet. Mais je pense qu'il n'est de créer un exemple de l'application hello world - après la création initiale, la manière dont le projet n'est pas différent de tout autre projet Java.
Et c'est comment il devrait être, JavaFX est juste Java. Oracle ne fait pas la différence entre JavaFX et Java dans leur distribution, et ne devrait IDEs dans leurs types de projet.
Je crois que, dans ce cas, même si je me trompe, que je suis assez qu'il n'a pas vraiment d'importance si je me trompe.
Mise à jour
J'ai donc été assez mal qu'il importe 🙂
L'aide d'Idée 13.1.4, si je créer un nouveau projet à l'aide de File | New Project | Java, il y a des paramètres de ressource (File | Settings | Compiler):
Qui est, les ressources pour le projet sont juste mis à copier uniquement les types de fichiers spécifiques. Ainsi, vous pourriez modifier pour obtenir les types de fichiers supplémentaires nécessaires dans certains de JavaFX projets par l'ajout de ressources de la copie de soutien pour fxml et css; je.e, en ajoutant ;?*.fxml;?*.css.
La partie intéressante est que si vous créez un nouveau projet à l'aide de File | New Project | JavaFX, il y a les paramètres de ressource suivants:
Essentiellement, c'est la copie de tout ce qui n'est pas une source de fichier, type de fichier de la liste noire, plutôt qu'un fichier de la liste blanche défini comme est utilisé par d'autres projets de création de modèles. Vraiment bizarre... en tout cas, les ensembles de ressources sont configurables par l'utilisateur, de sorte que vous pouvez les modifier comme bon vous semble et une fois que vous le faites, vous ne devriez pas avoir de problèmes (je crois, mais j'ai eu tort avant 😉
Suggestion: Utiliser la 3ème partie outils de génération en conjonction avec votre IDE
Vous pourriez être mieux de baser votre construction hors d'un outil 3ème partie comme Gradle ou Maven. Idée fonctionne vraiment bien avec ces deux externes construire des outils (et d'autres). Les avantages de l'utilisation d'un outil 3ème partie:
Projets avec des outils de suivre une convention où les ressources sont placés dans un dossier de ressources et tout ce que le dossier est traité comme une ressource pour être mis dans votre sortie de la construction. Donc il y a moins de confusion.
Les projets qui en résultent sont plus mobiles et plus facile à utiliser par d'autres développeurs, qui peuvent ne pas être l'aide d'Idée.
Le projet peut être réalisé facilement par l'intégration continue de construire des systèmes comme Jenkins.
Les deux Gradle et Maven ont en Charge spécifique des plugins qui fournissent un soutien supplémentaire pour l'emballage des applications JavaFX.
Évidemment, l'inconvénient de l'utilisation d'un 3ème partie outils de construction, c'est la complexité (et beaucoup de bizarreries) de l'apprentissage comme parfois, ils peuvent être tout à fait la bête. Donc, je pense que c'est un peu un compromis - petits, personnels des projets d'exploration n'a pas besoin d'eux, les grands projets ou les projets que vous avez l'intention de partager avec les autres des avantages de l'utilisation de tels outils.
Oui, JavaFX est juste java, ou presque. Si vous utilisez fxml, c'est une nouvelle ressource xml qui exige une certaine infrastrucutre à utiliser. C'est différent d'un simple vieux vanille Java SE demande dans les petites, mais importantes. Un problème que je rencontre est que l'Ide n'est pas de copier le fxml des fichiers à partir de la src répertoires les répertoires cibles, et par conséquent, ils ne sont pas trouvés par getClass().getResource("Monfichier.fxml"). Toute réflexion est apprécié. Mise à jour de la réponse repose sur votre commentaire Noé. malheureusement, maintenant, en 2017, la question est toujours la même.... tous mes projets Java dans IntelliJ semblent défaut de !?*.java;!?*.form;!?*.class;!?*.groovy;!?*.scala;!?*.flex;!?*.kt;!?*.clj;!?*.aj, même si c'est juste un projet Java. merci maintenant il construit avec maven, mais encore de ne pas construire avec JavaFX
Une solution est de générer votre code à l'aide de Scène Constructeur, et de l'intégrer ensuite dans votre IntelliJ projet. Alors qu'il devrait être possible d'importer ce module, vous pouvez également déplacer simplement le code à l'endroit où il doit être (faire apporter les corrections appropriées pour emballer les états, etc). Si vous remarquez que le javafx les importations ne sont pas reconnus au sein de votre projet, essayez cette solution:
D'abord vous assurer que vous avez installé l'Ide, en général pour JavaFX par suite de la intial étapes de cette tutoriel. Remarque: ci-Dessous-je mentionner à 1,8, mais cela devrait fonctionner avec 1,7+. Je vous recommande de 1,8+.
Deuxième assurer que le projet existant paramètres permettent de javaFX utilisation
Ouvrir La Structure Du Projet
Cliquez sur Projet dans le cadre du projet volet paramètres
S'assurer que le Projet SDK est de 1,8+.
Troisième s'Assurer que les modules sont configurés pour un JDK soutenir JavaFX
Ouvrir La Structure Du Projet
Cliquez sur Modules dans le cadre du projet volet paramètres
Assurer que le module SDK utilisé prend en charge javaFX, je l'ai de Nouveau utiliser le JDK 1.8 mais il devrait fonctionner avec la 1.7.
Aussi, s'il vous plaît être conscient que si vous avez un projet maven, vous devrez peut-être mettre votre fxml dans un endroit particulier, "/main/resources/". Jetez un oeil à c'.
Qui a fonctionné pour moi, et j'espère que cela vous aide.
Créer un nouveau module dans votre intellij projet (Un)
Créer un nouveau JavaFx ailleurs
Copiez le code de la JavaFx projet, à savoir Controller.java,Main.java and sample.fxml dans votre module dans le (Un) projet sous le répertoire src comme dans A/user-interface/src
Vous trouverez une erreur dans sample.fxml puisqu'il fait référence à la classe de contrôleur comme sample.Controller changer en "Contrôleur". il a travaillé de cette façon (que j'ai enlevé le sample dossier du package
En (A) ouvrir le menu des paramètres File | Project Structure | Modules
Sélectionnez le user-interface module à partir de la liste sur le côté gauche de la fenêtre de paramètres
Passer à la dependencies onglet
Ajouter votre ancien non-gui module d'un module de dépendance en utilisant le vert + marque sur le côté droit
Maintenant, vous pouvez utiliser les classes de la non-module gui, profitez-en!
remarque: vous pouvez ignorer les ajouter un module de dépendance et de laisser intellij le faire pour vous, il suffit de taper un nom de classe dans l'ancien module, alt+enter (l'ampoule magique) -> add module depenency
Veuillez garder à l'esprit que votre source(s) dossier(s) doit être réglée correctement.
Voir la capture d'écran pour vous faire une idée de ce que je veux dire..
Donc, après beaucoup de recherches sur google, j'ai enfin trouvé moi-même!
Si vous pouvez créer de nouveaux Javafx projets dans Intellijd et il fonctionne parfaitement, mais lorsque vous ouvrez un normal application java qui arrive à utiliser javafx ne fonctionne pas, (parce que java n'a pas envie de résoudre le javafx références)
ce qui fonctionne pour moi est: est-ce
Vous devez ajouter le "jre/lib/ext/jfxrt.jar" fichier dans le module classpath qui est situé à l'intérieur d'IDÉE sur ma machine windows c'est C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.3\jre64\lib\ext\jfxrt.jar.
Il n'y a rien à convertir.
Je ne crois pas qu'il y a une différence dans l'Idée entre un "normal" projet Java et JavaFX projet.
Sûr, dans l'Idée 12.x+ y est un assistant, vous pouvez utiliser pour créer un nouveau JavaFX projet. Mais je pense qu'il n'est de créer un exemple de l'application hello world - après la création initiale, la manière dont le projet n'est pas différent de tout autre projet Java.
Et c'est comment il devrait être, JavaFX est juste Java. Oracle ne fait pas la différence entre JavaFX et Java dans leur distribution, et ne devrait IDEs dans leurs types de projet.
Je crois que, dans ce cas, même si je me trompe, que je suis assez qu'il n'a pas vraiment d'importance si je me trompe.
Mise à jour
J'ai donc été assez mal qu'il importe 🙂
L'aide d'Idée 13.1.4, si je créer un nouveau projet à l'aide de
File | New Project | Java
, il y a des paramètres de ressource (File | Settings | Compiler
):Qui est, les ressources pour le projet sont juste mis à copier uniquement les types de fichiers spécifiques. Ainsi, vous pourriez modifier pour obtenir les types de fichiers supplémentaires nécessaires dans certains de JavaFX projets par l'ajout de ressources de la copie de soutien pour fxml et css; je.e, en ajoutant
;?*.fxml;?*.css
.La partie intéressante est que si vous créez un nouveau projet à l'aide de
File | New Project | JavaFX
, il y a les paramètres de ressource suivants:Essentiellement, c'est la copie de tout ce qui n'est pas une source de fichier, type de fichier de la liste noire, plutôt qu'un fichier de la liste blanche défini comme est utilisé par d'autres projets de création de modèles. Vraiment bizarre... en tout cas, les ensembles de ressources sont configurables par l'utilisateur, de sorte que vous pouvez les modifier comme bon vous semble et une fois que vous le faites, vous ne devriez pas avoir de problèmes (je crois, mais j'ai eu tort avant 😉
Suggestion: Utiliser la 3ème partie outils de génération en conjonction avec votre IDE
Vous pourriez être mieux de baser votre construction hors d'un outil 3ème partie comme Gradle ou Maven. Idée fonctionne vraiment bien avec ces deux externes construire des outils (et d'autres). Les avantages de l'utilisation d'un outil 3ème partie:
Évidemment, l'inconvénient de l'utilisation d'un 3ème partie outils de construction, c'est la complexité (et beaucoup de bizarreries) de l'apprentissage comme parfois, ils peuvent être tout à fait la bête. Donc, je pense que c'est un peu un compromis - petits, personnels des projets d'exploration n'a pas besoin d'eux, les grands projets ou les projets que vous avez l'intention de partager avec les autres des avantages de l'utilisation de tels outils.
Mise à jour de la réponse repose sur votre commentaire Noé.
malheureusement, maintenant, en 2017, la question est toujours la même....
tous mes projets Java dans IntelliJ semblent défaut de
!?*.java;!?*.form;!?*.class;!?*.groovy;!?*.scala;!?*.flex;!?*.kt;!?*.clj;!?*.aj
, même si c'est juste un projet Java.merci maintenant il construit avec maven, mais encore de ne pas construire avec JavaFX
OriginalL'auteur jewelsea
Une solution est de générer votre code à l'aide de Scène Constructeur, et de l'intégrer ensuite dans votre IntelliJ projet. Alors qu'il devrait être possible d'importer ce module, vous pouvez également déplacer simplement le code à l'endroit où il doit être (faire apporter les corrections appropriées pour emballer les états, etc). Si vous remarquez que le javafx les importations ne sont pas reconnus au sein de votre projet, essayez cette solution:
D'abord vous assurer que vous avez installé l'Ide, en général pour JavaFX par suite de la intial étapes de cette tutoriel. Remarque: ci-Dessous-je mentionner à 1,8, mais cela devrait fonctionner avec 1,7+. Je vous recommande de 1,8+.
Deuxième assurer que le projet existant paramètres permettent de javaFX utilisation
Troisième s'Assurer que les modules sont configurés pour un JDK soutenir JavaFX
Aussi, s'il vous plaît être conscient que si vous avez un projet maven, vous devrez peut-être mettre votre fxml dans un endroit particulier, "/main/resources/". Jetez un oeil à c'.
Qui a fonctionné pour moi, et j'espère que cela vous aide.
OriginalL'auteur Noah Ternullo
J'ai suivi ces étapes
Controller.java,Main.java and sample.fxml
dans votre module dans le (Un) projet sous le répertoire src comme dansA/user-interface/src
sample.fxml
puisqu'il fait référence à la classe de contrôleur commesample.Controller
changer en "Contrôleur". il a travaillé de cette façon (que j'ai enlevé lesample
dossier du packageFile | Project Structure | Modules
user-interface
module à partir de la liste sur le côté gauche de la fenêtre de paramètresdependencies
onglet+
marque sur le côté droitremarque: vous pouvez ignorer les ajouter un module de dépendance et de laisser intellij le faire pour vous, il suffit de taper un nom de classe dans l'ancien module,
alt+enter
(l'ampoule magique) ->add module depenency
OriginalL'auteur shakram02
Veuillez garder à l'esprit que votre source(s) dossier(s) doit être réglée correctement.
Voir la capture d'écran pour vous faire une idée de ce que je veux dire..
OriginalL'auteur Martin Pfeffer
Donc, après beaucoup de recherches sur google, j'ai enfin trouvé moi-même!
Si vous pouvez créer de nouveaux Javafx projets dans Intellijd et il fonctionne parfaitement, mais lorsque vous ouvrez un normal application java qui arrive à utiliser javafx ne fonctionne pas, (parce que java n'a pas envie de résoudre le javafx références)
ce qui fonctionne pour moi est: est-ce
Vous devez ajouter le
"jre/lib/ext/jfxrt.jar"
fichier dans le module classpath qui est situé à l'intérieur d'IDÉE sur ma machine windows c'estC:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.3\jre64\lib\ext\jfxrt.jar
.Et maintenant elle a finalement construit!
OriginalL'auteur Rainb