JAVAFX入门教程-Hello

环境:使用maven进行javaFX项目构建,JDK版本:11
使用IDEA创建一个maven工程,然后编辑依赖如下:

配置maven依赖
 <!-- 依赖的版本 -->
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.release>11</maven.compiler.release>
    <maven.compiler.version>3.9.0</maven.compiler.version>
    <javafx.version>11</javafx.version>
    <javafx.maven.plugin.version>0.0.8</javafx.maven.plugin.version>
</properties>

    <!-- javaFX依赖 -->
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>${javafx.version}</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>${javafx.version}</version>
    </dependency>

    <!-- maven插件依赖 -->
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-maven-plugin</artifactId>
        <version>${javafx.maven.plugin.version}</version>
        <type>maven-plugin</type>
    </dependency>
    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven.compiler.version}</version>
        <type>maven-plugin</type>
    </dependency>
插件配置
  <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>${maven.compiler.release}</source>
                <target>${maven.compiler.release}</target>
            </configuration>
        </plugin>
        <!-- javafx maven插件配置 ,因为需要客户端runtime的支持,此处需要配置入口,不配置会报错-->
        <plugin>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>0.0.8</version>
            <configuration>
                <!-- 程序启动入口-->
                <mainClass>ry.main.SearchMain</mainClass>
                <!-- 镜像名 -->
                <jlinkImageName>rySearch</jlinkImageName>
                <!-- 启动vm参数配置 -->
                <commandlineArgs>-Xmx1024m</commandlineArgs>
            </configuration>
        </plugin>
    </plugins>
启动类vm参数配置

PATH_TO_FX 为环境变量,该环境变量指向 javaFX的SDK文件夹。

附上SDK下载路径:https://gluonhq.com/products/javafx/
我下载的windows版本,下载完成在IDEA或者windows中配置好环境变量后就可以在启动类中添加如下VM参数

--module-path ${PATH_TO_FX} --add-modules javafx.controls,javafx.fxml

之后编写代码,启动应用即可

启动类代码如下:

package ry.main;

import javafx.application.Application;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

/**
 * 搜索服务启动类
 */
public class SearchMain extends Application {

    public void start(Stage stage) throws Exception {
        String javaVersion = System.getProperty("java.version");
        String javafxVersion = System.getProperty("javafx.version");
        Label l = new Label("Hello, JavaFX " + javafxVersion + ", running on Java " + javaVersion + ".");
        Scene scene = new Scene(new StackPane(l), 640, 480);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }

}

启动运行效果如下:
在这里插入图片描述

附上jlink客户端运行时的maven插件配置:

   maven插件支持的命令参考如下:
    javafx:运行选项
    该插件默认包括:  -module-path和-add-modules选项-classpath。
    或者,可以使用以下方式修改配置:
    mainClass: 主类,全限定名,带或不带模块名
    workingDirectory: 当前工作目录
    skip: 跳过执行。值:假(默认),真
    outputFile: 重定向进程输出的文件
    options:传递给可执行文件的 VM 选项列表。
    commandlineArgs: 执行程序的参数用空格分隔
    includePathExceptionsInClasspath:解析模块路径时,将此值设置为 true 将包括在类路径中生成路径异常的依赖项。默认情况下,该值为 false,并且不会包含这些依赖项。
    runtimePathOption:默认情况下,插件会将每个依赖项放在模块路径或类路径上(基于某些因素)。设置配置后runtimePathOption,插件会将所有依赖项放在模块路径或类路径上。
    如果设置为MODULEPATH,则需要模块描述符。所有依赖项都需要模块化或包含 Automatic-Module-Name。
    如果设置为CLASSPATH,则需要一个 Launcher 类(如这个)来运行 JavaFX 应用程序。此外,如果存在模块信息描述符,它将被忽略。
    值:MODULEPATH 或 CLASSPATH。
    该插件使用“jdk”工具支持 Maven 工具链。


jlink运行时支持的其他命令参考如下:

    javafx:jlink 选项
    jlink可以设置相同的命令行选项:

    stripDebug: 去除调试信息。值:假(默认)或真
    stripJavaDebugAttributes:去除 Java 调试属性(从 Java 13 开始),值:false(默认)或 true
    compress:正在使用的资源的压缩级别。值:0(默认)、1、2。
    noHeaderFiles:删除includes生成的运行时映像中的目录。值:假(默认)或真
    noManPages:删除man生成的运行时映像中的目录。值:假(默认)或真
    bindServices:添加绑定服务的选项。值:假(默认)或真
    ignoreSigningInformation:添加忽略签名信息的选项。值:假(默认)或真
    jlinkVerbose:添加详细选项。值:假(默认)或真
    launcher:添加具有给定名称的启动器脚本。
    如果options已定义,这些将作为 vm 选项传递给启动器脚本。
    如果commandLineArgs已定义,这些将作为命令行参数传递给启动器脚本。
    jlinkImageName:带有生成的运行时映像的文件夹的名称
    jlinkZipName:设置后,创建生成的运行时映像的 zip
    jlinkExecutable:jlink可执行文件。它可以是完整路径或可执行文件的名称(如果它在 PATH 中)。
    jmodsPath: 使用本地 JavaFX SDK 时,设置本地 JavaFX jmods 的路

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

平塘码道

谢谢你的打赏, 我会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值