Java 有没有办法管理fxml中的重复图像路径?

Java 有没有办法管理fxml中的重复图像路径?,java,url,javafx,path,fxml,Java,Url,Javafx,Path,Fxml,我想知道管理fxml文件中路径的更好方法是什么? 例如,我有许多fxml文件,其中包括: 有没有一种方法可以将/resources/images/存储在某个地方并执行以下操作: <Image url="@MY_DEFINE_PATH/success_128.png" /> 其中MY\u DEFINE\u PATH来自项目中某个全局文件?您可以嵌入自己的DTD实体定义: <?xml ... ?> <!DOCTYPE GridPane [ <!ENT

我想知道管理fxml文件中路径的更好方法是什么? 例如,我有许多fxml文件,其中包括:

有没有一种方法可以将
/resources/images/
存储在某个地方并执行以下操作:

<Image url="@MY_DEFINE_PATH/success_128.png" />


其中
MY\u DEFINE\u PATH
来自项目中某个全局文件?

您可以嵌入自己的DTD实体定义:

<?xml ... ?>
<!DOCTYPE GridPane [
    <!ENTITY imgPath "/ressources/images/">
]>
<GridPane>
...
<Image url="&imgPath;success_128.png" />

...
您也可以链接到外部DTD,但是应该使用XML目录(DTD在本地缓存中从URL映射)来加速XML的处理


使用外部DTD文件


mypath.dtd:

<!ENTITY imgPath "/ressources/images/">


@
位置与fxml文件相关。不确定,但可能使用一些fx:define?@Jean BaptisteYunès如何使用当前包之外的变量设置我的define?这意味着设置一个新的fx:在每个fxml文件中定义?请参阅,您可以使用
(仅在fxml文件中导入一次)将常量“导入”到fxml中,然后执行
,谢谢,但是如何从变量中获取“/resources/images”fxml文件?对于静态配置,可以使用外部DTD(-我扩展了答案)。如果您在java中的意思是:要么按id属性,要么用自己的名称空间添加一个自定义属性,并在代码中对图像进行迭代。
<!ENTITY imgPath "/ressources/images/">