JavaFX“位置是必需的” 即使在同一包装中

简介: JavaFX“位置是必需的” 即使在同一包装中

如何解决JavaFX“位置是必需的” 即使在同一包装中?
将文件移动到main / resources目录有效。

就我而言,以上所有都不是问题。

我更换时解决了我的问题:

getClass().getResource("ui_layout.fxml")
与:

getClass().getClassLoader().getResource("ui_layout.fxml")
解决方法
我正在尝试运行JavaFX程序,但遇到了一些困难。我不断收到错误消息“ java.lang.NullPointerException:必须提供位置”。fxml文件与Application类位于同一软件包中。这是我非常简单的代码:

package com.kromalights.designer.entry;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("main.fxml"));
    primaryStage.setTitle("Kromalights Designer");
    primaryStage.setScene(new Scene(root,300,275));
    primaryStage.show();
}
public static void main(String[] args) {
    launch(args);
}

}
这是我的main.fxml文件的副本:

<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.layout.BorderPane?>
<?scenebuilder-stylesheet mailStyles.css?>
<?import java.net.*?>
<BorderPane prefHeight="300.0" prefWidth="300.0" xmlns:fx="http://javafx.com/fxml/1"

    xmlns="http://javafx.com/javafx/2.2"
    fx:controller="com.kromalights.designer.entry.Controller">
<bottom>
    <Pane prefHeight="200.0" prefWidth="200.0"/>
</bottom>
    <Pane prefHeight="200.0" prefWidth="200.0"/>
<left> <VBox prefHeight="200.0" prefWidth="100.0"/> </left> <top> <HBox prefHeight="100.0" prefWidth="200.0"/> </top> <stylesheets> <URL value="@mainStyles.css" /> </stylesheets>


控制器类确实存在,并且位于fxml文件中指定的包中。我所有的名字都是正确的,也是我认为应该的位置。我想念什么?我确实尝试重命名我的fxml文件,以防这是一个名称问题。请帮忙。仅供参考,我在OSX上使用Intellij IDEA。

更新:这是一个Maven问题。我为此项目安装了Maven,这引起了问题。我暂时删除了Maven,因此没有它我可以继续工作。有没有人对使用Maven时如何最好地解决这一问题有任何见解?
声明:地推任务网所有作品(图片、文字)均由用户自行上传分享,仅供网友学习交流。

相关文章
|
3月前
|
Java API Windows
Java创建透明与任意形状窗口
Java创建透明与任意形状窗口
24 0
|
11月前
|
JSON 数据格式
调用 sap.ui.base.ManagedObject 的构造函数时,如何传递绑定路径进去
调用 sap.ui.base.ManagedObject 的构造函数时,如何传递绑定路径进去
|
9月前
|
C# 数据安全/隐私保护
C# 窗体之间参数互相传递的两种方法与使用
C# 窗体之间参数互相传递的两种方法与使用
Echarts调用同一个组件显示在不同位置的方法
Echarts调用同一个组件显示在不同位置的方法
81 0
|
Java 编译器
深入探索: 对象构造的隐藏功能与技巧
深入探索: 对象构造的隐藏功能与技巧
88 0
|
C++ 索引
C/C++ Qt StringListModel 字符串列表映射组件
StringListModel 字符串列表映射组件,该组件用于处理字符串与列表框组件中数据的转换,通常该组件会配合ListView组件一起使用,例如将ListView组件与Model模型绑定,当ListView组件内有数据更新时,我们就可以利用映射将数据模型中的数值以字符串格式提取出来,同理也可实现将字符串赋值到指定的ListView组件内。
201 0
C/C++ Qt StringListModel 字符串列表映射组件
lodash创建一个函数属性名称的数组,包含继承属性
lodash创建一个函数属性名称的数组,包含继承属性
73 0
lodash设置对象属性路径的值
lodash设置对象属性路径的值
175 0
|
SQL XML Java
MyBatis——dao代理的使用、深入理解参数(传递一个参数、传递多个参数、使用entity实体类传递、使用自定义类传递、按位置传递、使用Map传递)
MyBatis——dao代理的使用、深入理解参数(传递一个参数、传递多个参数、使用entity实体类传递、使用自定义类传递、按位置传递、使用Map传递)
MyBatis——dao代理的使用、深入理解参数(传递一个参数、传递多个参数、使用entity实体类传递、使用自定义类传递、按位置传递、使用Map传递)
|
IDE API 开发工具
FastAPI(14)- 路径操作函数参数的类型是一个嵌套 Pydantic Model 的使用场景
FastAPI(14)- 路径操作函数参数的类型是一个嵌套 Pydantic Model 的使用场景
187 0
FastAPI(14)- 路径操作函数参数的类型是一个嵌套 Pydantic Model 的使用场景