How can I open a JavaFX Maven project from scratch in IntelliJ IDEA? As there is no difference between a Java project and a JavaFx project, I want to open a dedicated JavaFX project (Selection JavaFX from create project Wizard) with Maven module included.
问题:
回答1:
Although dated I'm answering this because I had the same question recently and too many people told me to write my own pom file etc. While that is technically true, it can create more headaches if you aren't careful.
I recommend you:
- Create a JavaFX project as you normally would.
- Make sure that project view (dropdown in project structure side tool window) is set to 'Project' or 'Packages' (otherwise option in 4th step will not be visible)
- Then once it is opened and ready right click on the project folder
- Go to "Add Framework Support...".
- Check the box for Maven and click "OK".
Let IntelliJ do the work for you at this point.
As for editing FXML files link the IDEA to SceneBuilder. Here is the official documentation. But basically:
- Install Scene Builder.
- File -> Settings -> Languages & Frameworks -> JavaFX
- Point to the exe file.
To Use: Right click on the FXML file and select "Open In SceneBuilder" (way down at the bottom)
回答2:
And after all, a program doesn't compiled. So this video helped me: Configuring Maven For Java FX
in words: we need to move sample.fxml to /resources folder. And in Main.java write:
FXMLLoader loader=new FXMLLoader(getClass().getResource("/sample.fxml"));
回答3:
This steps worked for me (Is a different process): 1. Create a maven project. 2. In the generated pom.xml add the following:
`<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>`
This adds a maven plugin for javafx (more info: https://github.com/javafx-maven-plugin/javafx-maven-plugin)
- Create in your resources folder your sample.fxml
- Create your controller class for sample.fxml and link
- Enjoy!
回答4:
It takes me a couple of hours to find the right solution. Many thanks to this video and the author: https://www.youtube.com/watch?v=qn2tbftFjno
So, following the above video, I would like to recommend:
- Download JavaFX SDK from https://gluonhq.com/products/javafx/
- Extract the zip file
- From the starting page of Intellij IDEA, select Configure/Structure for New Projects
- Select Platform Settings/Global Libraries
- Select the plus ("+") button/Java
- Find the "lib" folder inside your extracted zip file and select all of ".jar" files (except "src.zip"), and then OK
- Set a new name for the library, let's say "javafx-whatever-version", then Apply/OK
- Create a JavaFX project as normally.
- Select File/Project Structure...
- From Project Settings/Project, remember to select the suitable Project SDK and Project language level
- From Platform Settings/Global Libraries, right click on the library "javafx-whatever-version" (which you have already added), choose Add to modules.../OK
- Switch to Project Settings/Modules, choose Apply/OK
- Back to your project manager, right click on "src"/New/module-info.java
- Add new lines to the body of module-info.java:
requires javafx.fxml;
requires javafx.controls;
opens sample;
- Run the project and enjoy!