Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javafx找到正确的路径_Java_Path_Javafx - Fatal编程技术网

javafx找到正确的路径

javafx找到正确的路径,java,path,javafx,Java,Path,Javafx,我得到以下结构: 我在ContentManager中设置fxml文件,如下所示: public static final String DEFAULT_SCREEN_FXML = "../fxml/Default.fxml"; 但我总是得到一个空点异常。我不想使用绝对路径。那么如何找到相对路径呢? 将fxml文件的控制器设置为: fx:id="client.stuff.controller.DefaultController" ??部署应用程序时,通常创建一个jar文件,其

我得到以下结构:

我在ContentManager中设置fxml文件,如下所示:

public static final String 
        DEFAULT_SCREEN_FXML = "../fxml/Default.fxml";
但我总是得到一个空点异常。我不想使用绝对路径。那么如何找到相对路径呢? 将fxml文件的控制器设置为:

fx:id="client.stuff.controller.DefaultController"

??部署应用程序时,通常创建一个jar文件,其中包括类文件和所有资源。您需要从jar文件内部加载fxml文件,即作为资源。在此上下文中,path元素“.”实际上没有任何意义

使用

(路径是相对于类路径的)

当然,还要把它装上

FXMLLoader loader = new FXMLLoader(getClass().getResource(DEFAULT_SCREEN_FXML));

或者类似的东西。

部署应用程序时,通常会创建一个jar文件,其中包括类文件和所有资源。您需要从jar文件内部加载fxml文件,即作为资源。在此上下文中,path元素“.”实际上没有任何意义

使用

(路径是相对于类路径的)

当然,还要把它装上

FXMLLoader loader = new FXMLLoader(getClass().getResource(DEFAULT_SCREEN_FXML));
或者类似的东西

将fxml文件的控制器设置为…
fx:id
..正确吗

不,这是完全错误的。您应该使用
fx:controller
,而不是
fx:id
设置控制器

fx:id
用于将控制器中的
@FXML
元素映射到FXML文档中定义的元素,而不是映射控制器类本身

有关更多信息,请参阅文档

因此,不要使用:

fx:id="client.stuff.controller.DefaultController"
而是使用:

fx:controller="client.stuff.controller.DefaultController"

James对问题另一部分与路径解析有关的回答是正确的

将fxml文件的控制器设置为…
fx:id
..正确吗

不,这是完全错误的。您应该使用
fx:controller
,而不是
fx:id
设置控制器

fx:id
用于将控制器中的
@FXML
元素映射到FXML文档中定义的元素,而不是映射控制器类本身

有关更多信息,请参阅文档

因此,不要使用:

fx:id="client.stuff.controller.DefaultController"
而是使用:

fx:controller="client.stuff.controller.DefaultController"


James对你问题中与路径分辨率有关的另一部分的回答是正确的。

啊,对不起,你是对的。我是说fx:控制器!但是谢谢你:)啊,对不起,你说得对。我是说fx:控制器!但谢谢你:)