Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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
Image javafx-8。如何使用fxml文件配置本地映像的路径_Image_Url_Javafx - Fatal编程技术网

Image javafx-8。如何使用fxml文件配置本地映像的路径

Image javafx-8。如何使用fxml文件配置本地映像的路径,image,url,javafx,Image,Url,Javafx,在javaFX应用程序中配置本地映像的路径时遇到一些问题。 我想在我的按钮上使用图标,但它不适用于本地图像,只适用于外部资源。这是我的代码: <Button fx:id="magicWangButton" mnemonicParsing="false" onAction="#magicWang" text="Magic wang"> <graphic> <ImageVie

在javaFX应用程序中配置本地映像的路径时遇到一些问题。 我想在我的按钮上使用图标,但它不适用于本地图像,只适用于外部资源。这是我的代码:

            <Button fx:id="magicWangButton" mnemonicParsing="false" onAction="#magicWang" text="Magic wang">
                <graphic>
                    <ImageView fitHeight="20.0" fitWidth="20.0" pickOnBounds="true" preserveRatio="true">
                        <image>
                            <!--<Image url="/fxml/img/magic-wang.png" />-->

                            <Image url="https://i.stack.imgur.com/y1evM.png" />
                            <!--<Image url="/fxml/img/site-logo.png" />-->
                            <Image url="img/magic-wang.png"/>
                        </image>
                    </ImageView>
                </graphic>
            </Button>

这根绳子很好:

<Image url="https://i.stack.imgur.com/y1evM.png" />

,但其他人。。。 我的图像位于路径:resources/fxml/img/ 位于fxml目录中的所有fxml文件。
我看到了其他问题和答案,但它使用java文件中的配置,但这不是我想要的。

您可以通过使用
@
启动属性值来指定相对于fxml的路径,请参阅


您可以通过使用
@
启动属性值来指定相对于fxml的路径,请参阅


诀窍是以“@”开头url并调用

  • 相对URL:
    • @one24.png:
    • @image/two24.png
    • @../24.png
  • 绝对URL:
    • @/four24.png
    • @/image/five24.png
请注意,我实现了一个实用程序类:

如果您坚持以下命名约定:

  • MyComponent.java
  • MyComponent.fxml(与MyComponent.java包相同)
  • MyComponent.properties(与MyComponent.java包相同)
您可以使用以下代码:

对于基于根目录的FXML文件:

public MyComponent() {
    FXMLLoaders.loadRoot(this);
}
Parent root = FXMLLoaders.load(FxmlSampleApplication.class);
否则:

public MyComponent() {
    FXMLLoaders.loadRoot(this);
}
Parent root = FXMLLoaders.load(FxmlSampleApplication.class);
该库可从Maven Central获得:

<dependency>
    <groupId>org.drombler.commons</groupId>
    <artifactId>drombler-commons-fx-core</artifactId>
    <version>0.13</version>
</dependency>

org.drombler.commons


我还写了一篇关于这个实用程序类和命名约定的文章。

诀窍是以“@”开头url并调用

  • 相对URL:
    • @one24.png:
    • @image/two24.png
    • @../24.png
  • 绝对URL:
    • @/four24.png
    • @/image/five24.png
请注意,我实现了一个实用程序类:

如果您坚持以下命名约定:

  • MyComponent.java
  • MyComponent.fxml(与MyComponent.java包相同)
  • MyComponent.properties(与MyComponent.java包相同)
您可以使用以下代码:

对于基于根目录的FXML文件:

public MyComponent() {
    FXMLLoaders.loadRoot(this);
}
Parent root = FXMLLoaders.load(FxmlSampleApplication.class);
否则:

public MyComponent() {
    FXMLLoaders.loadRoot(this);
}
Parent root = FXMLLoaders.load(FxmlSampleApplication.class);
该库可从Maven Central获得:

<dependency>
    <groupId>org.drombler.commons</groupId>
    <artifactId>drombler-commons-fx-core</artifactId>
    <version>0.13</version>
</dependency>

org.drombler.commons

我还写了一篇关于这个实用程序类和命名约定的文章