How to create a JavaFX Maven project in IntelliJ IDEA?

前端 未结 5 1854
花落未央
花落未央 2021-02-04 01:58

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 pro

相关标签:
5条回答
  • 2021-02-04 02:06

    For anyone coming here. I think the best answer lies on the openjfx docs. It contains a separate section for JavaFX & InteliJ, select the Non modular with Maven section.

    Ill describe the steps in breif.

    1. Create new Maven project.
    2. Select create from archtype.
    3. Add new archtype ( groupid : org.openjfx , artifactId : javafx-maven-archetypes , version 0.0.1 )
    4. Select the created archtype and Next.
    5. Provide group id org.openjfx ArtifactId hellojavafx and Next.
    6. Change the property archtypeArtifactId value to javafx-archetype-fxml.
    7. Add new property for javafx version : property javafx-version and value : 14.
    8. Finally give a name to project like HelloJavaFX.
    9. Now click finish and wait for inteliJ to build the project.

    Once InteliJ finish its work the pom should look like this sample.

    PS : Two more additional tips you need to follow if you follow this approach to get things going smoothly. JavaFX 14 needs java 11 or newer. Change the javax maven plugin version to 0.0.1 to 0.0.4 to avoid errors like invalid flag --module-path. Also to work better Download and install the

    0 讨论(0)
  • 2021-02-04 02:11

    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:

    1. Download JavaFX SDK from https://gluonhq.com/products/javafx/
    2. Extract the zip file
    3. From the starting page of Intellij IDEA, select Configure/Structure for New Projects
    4. Select Platform Settings/Global Libraries
    5. Select the plus ("+") button/Java
    6. Find the "lib" folder inside your extracted zip file and select all of ".jar" files (except "src.zip"), and then OK
    7. Set a new name for the library, let's say "javafx-whatever-version", then Apply/OK
    8. Create a JavaFX project as normally.
    9. Select File/Project Structure...
    10. From Project Settings/Project, remember to select the suitable Project SDK and Project language level
    11. From Platform Settings/Global Libraries, right click on the library "javafx-whatever-version" (which you have already added), choose Add to modules.../OK
    12. Switch to Project Settings/Modules, choose Apply/OK
    13. Back to your project manager, right click on "src"/New/module-info.java
    14. Add new lines to the body of module-info.java:
    requires javafx.fxml; 
    requires javafx.controls; 
    opens sample;
    
    1. Run the project and enjoy!
    0 讨论(0)
  • 2021-02-04 02:15

    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:

    1. Create a JavaFX project as you normally would.
    2. 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)
    3. Then once it is opened and ready right click on the project folder
    4. Go to "Add Framework Support...".
    5. 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:

    1. Install Scene Builder.
    2. File -> Settings -> Languages & Frameworks -> JavaFX
    3. Point to the exe file.

    To Use: Right click on the FXML file and select "Open In SceneBuilder" (way down at the bottom)

    0 讨论(0)
  • 2021-02-04 02:16

    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"));
    
    0 讨论(0)
  • 2021-02-04 02:20

    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)

    1. Create in your resources folder your sample.fxml
    2. Create your controller class for sample.fxml and link
    3. Enjoy!
    0 讨论(0)
提交回复
热议问题