JavaFX 中需要使用 gradle 来定位

2023-11-21

我越来越

java.lang.NullPointerException:位置是必需的。

当我使用 gradle 和 javafx 插件组装后运行我的程序时。如果我从 IntelliJ Idea 运行它,一切都很好。 Java源文件和.fxml位于某个包中。

构建.gradle

apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'idea'
apply from: 'javafx.plugin'

javafx {
    javaRuntime = 'C:\\Program Files\\Java\\jdk1.7.0_45'

    appID 'FXMLExample'
    appName 'fxml example application'
    mainClass 'local.hz.FXMLExample'
}

task "create-dirs" {
    sourceSets*.java.srcDirs*.each {it.mkdirs()}
    sourceSets*.resources.srcDirs*.each {it.mkdirs()}
}

fxml_example.fxml

<?xml version="1.0" encoding="UTF-8"?>
<?import java.net.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>

<GridPane fx:controller="local.hz.FXMLExampleController"
      xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
<padding><Insets top="25" right="25" bottom="10" left="25"/></padding>
<gridLinesVisible>true</gridLinesVisible>

<Text text="Welcome"
      GridPane.columnIndex="0" GridPane.rowIndex="0"
      GridPane.columnSpan="2"/>

<Label text="User Name:"
      GridPane.columnIndex="0" GridPane.rowIndex="1"/>

<TextField
      GridPane.columnIndex="1" GridPane.rowIndex="1"/>

<Label text="Password:"
      GridPane.columnIndex="0" GridPane.rowIndex="2"/>

<PasswordField fx:id="passwordField"
               GridPane.columnIndex="1" GridPane.rowIndex="2"/>

<HBox spacing="10" alignment="bottom_right"
      GridPane.columnIndex="1" GridPane.rowIndex="4">
    <Button text="Sign In"
            onAction="#handleSubmitButtonAction"/>
</HBox>

<Text fx:id="actiontarget"
      GridPane.columnIndex="1" GridPane.rowIndex="6"/>
</GridPane>

FXMLExample.java

package local.hz;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class FXMLExample extends Application {
@Override
public void start(Stage stage) throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("fxml_example.fxml"));

    Scene scene = new Scene(root,300,275);

    stage.setTitle("FXML WELCOME!!");
    stage.setScene(scene);
    stage.show();
}

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

您的 FXML 文件可能没有打包到您的 jar 中。

尝试将其添加到您的 build.gradle 文件中:

sourceSets {
  main {
    resources {
        srcDirs = ["src/main/java"]
        includes = ["**/*.fxml"]
    }
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaFX 中需要使用 gradle 来定位 的相关文章

随机推荐

  • 安装plpython时Postgres数据库崩溃

    我试图在 Postgres 9 1 中安装 plpython 但它使服务器崩溃 postgres dataserver1 gt opt postgres 9 1 bin psql d mydb psql bin 9 1 4 Type hel
  • Android Studio Gradle 未能完成 Gradle 执行

    我正在尝试运行 appengineUpdate 来部署我的后端 但收到以下错误消息 Failed to complete Gradle execution Cause Gradle build daemon disappeared unex
  • 如何在sitemesh装饰器中获取模型属性或spring的bean?

    我正在使用 Spring 3 和 sitemesh 我想参考 sitemesh 中定义的装饰器页面中的 spring 上下文 bean 问题是 SiteMesh 过滤器在 Spring 上下文之外工作 因此 sitemesh 装饰器 jsp
  • 从多元正态分布中有效地随机抽取

    只是想知道是否有人遇到过这样的问题 他 她需要从非常高维的多元正态分布 假设维度 10 000 中随机抽取 因为rmvnorm的功能mvtnorm包对此来说是不切实际的 我知道这个article has an Rcpp实施dmvnorm的功
  • R 可以读取 html 编码的表情符号字符吗?

    Question 我的问题如下 如何使用 R 读取包含 HTML 表情符号代码的字符串 例如 55358 56599 我想 1 表示表情符号 例如 作为 unicode 符号 在解析后的字符串中 OR 2 将其转换为等效文本 hugging
  • 如何在 Java 中将分数格式的字符串转换为 Decimal 或 Float?

    我从数据库中获取的字符串值很少 例如 1 4 2 3 但是在显示为 Android ListView 内容时 我需要将其显示为0 25 0 66 现在我不想分割字符串 然后将单个字符串转换为数字 然后 然后将它们分开即可得到结果 有谁知道
  • 如何确保我的 bash 脚本尚未运行?

    我有一个 bash 脚本 我想从 cron 每 5 分钟运行一次 但是该脚本的上一次运行可能尚未完成 在这种情况下 我希望新的运行退出 我不想只依赖 tmp 中的锁定文件 我想确保在执行锁定文件 或其他文件 之前该进程实际上正在运行 这是到
  • 为什么 [-1] 不返回文件中该行的最后一个字符?

    我想打印 python 中从文件中读取的字符串的最后一个字符 我打电话作为str 1 但它没有按预期工作 t txt 包含 Do not laugh please 9 Are you kidding me 4 我的代码是 with open
  • 如何使用 FLAG_GRANT_READ_URI_PERMISSION 授予对自定义内容提供程序的临时访问权限

    我正在尝试从另一个应用程序 应用程序 B 查询自定义内容提供程序 应用程序 A 当内容提供商没有权限保护时我可以这样做 具体来说 我在应用程序 A 上构建自定义内容提供程序 并将包含 URI 的意图发送到应用程序 B 这是App A中的意图
  • GCM 无效发件人错误

    我被一个神秘的问题困扰了一段时间 所以我在我的 Android 应用程序中实现了 GCM 但收到 INVALID SENDER 错误 我的SENDER ID是来自google项目的url的id Android 推送通知已开启 奇怪的是我已经
  • 如何卸载Python和所有包

    我希望卸载 Python 2 7 以及与其连接的所有包 我最初从官方网站安装了Python 并使用 pip install 命令安装了所有软件包 从控制面板卸载Python也会自动卸载所有包吗 我之所以要卸载Python 是因为我想使用An
  • 避免在 Kubernetes 中为一个 cron 执行点运行多个 cron 作业

    编辑 问题已解决 这是我的错误 我只是使用了错误的 cron 设置 我假设 2 每天只会在 2 点运行一次 但实际上它在 2 点之后每分钟都会运行一次 因此 Kubernetes 的行为是正确的 我一直在一个 cron 执行点运行多个作业
  • 如何使用 scipy.ndimage.filters.gereric_filter?

    我正在尝试使用 scipy ndimage filters generic filter 来计算邻域的加权和 邻域在某些时候会发生变化 但目前我正在努力实现 3x3 到目前为止 这就是我所在的地方 def Func a a np resha
  • Swift 中的数字四舍五入到小数点后两位

    我得到了一个数字值 我试图将其转换为小数点后两位 但是当我转换它时 结果变为 0 00 数字是这样的0 24612035420731018 当得到它的 2f 值时 它显示 0 00 我尝试过的代码是这样的 let digit FindRes
  • 如何获取外键引用的表

    我有一个小问题 但尚未找到答案 如何在 C 中使用 Microsoft SqlServer Smo 外键列所引用的表 foreach Column column in currentTable Columns if column IsFor
  • 如何压缩两个非连续的提交?

    我对 git 中的整个变基功能有点陌生 假设我做出了以下承诺 A gt B gt C gt D 后来我意识到D包含一个修复程序 该修复程序依赖于添加的一些新代码A 并且这些提交属于一起 我该如何压扁A D一起离开B C alone 你可以运
  • 如何从 LLVM 中的 CallInst 获取间接调用的函数名称

    Function fun call gt getCalledFunction getCalledFunction 如果是间接调用则返回 null 如何获取函数的名称或指针的名称 我发现Stack Overflow中与此问题相关的所有问题都谈
  • 在gradle中使用目标sdk版本23时,ZBAR条码扫描库不工作

    我在我的项目中使用 zbar 扫描仪库 更新到 sdk 23 后 棉花糖扫描仪无法工作 以下是 gradle 文件 扫描仪正在工作 如果我将 targetSdkVersion 设置为 23 以外的任何值 以下是gradle文件 apply
  • 按下按键后防止光标隐藏在浏览器中

    我知道在大多数浏览器 最新一代 中 当您输入 A 或空格等任何键时 鼠标光标会隐藏 这是为了让用户看到他输入的内容 一旦您将鼠标移动一个像素 光标就会恢复可见 现在问题来了 这种情况在浏览器中随处可见 即使我关注的是 div 等非输入元素
  • JavaFX 中需要使用 gradle 来定位

    我越来越 java lang NullPointerException 位置是必需的 当我使用 gradle 和 javafx 插件组装后运行我的程序时 如果我从 IntelliJ Idea 运行它 一切都很好 Java源文件和 fxml位