簡體   English   中英

某些圖像未加載相對路徑-JavaFX

[英]Certain images not getting loaded with relative path - JavaFX

我正在開發一個便攜式桌面應用程序,並且UI使用某些圖像。 我的應用程序的絕對路徑是:C:/ Users / JP / Documents / EOL / Collection / DataCollection / src / application /

我在應用程序文件夾(上面已指定)中有我的fxml和主類源文件,在應用程序文件夾中的“ images”文件夾中有3個圖像。 所有都是.jpg文件。 當我使用相對路徑在我的fxml文件中引用這些文件時,將加載1,而其他兩個則不會。

我不知道為什么一個特定的文件加載而另一些無法加載。

當我在fxml的所有三個位置都引用一個文件時,它工作正常。 當我使用絕對路徑引用所有3個不同的圖像時,它可以正常工作。 但是我不理解關於僅幾個文件的相對路徑的問題。 誰能幫我這個?

我也嘗試用“ file:”替換“ @”,但沒有幫助。

<ImageView fitHeight="333.0" fitWidth="450.0" opacity="0.27">
    <image>
         <Image url="@images/ht.jpg" />
    </image>
</ImageView>
<ImageView fitHeight="70.0" fitWidth="68.0" layoutX="5.0" layoutY="7.0">
    <image>
        <Image url="@images/eol.jpg" />
    </image>
</ImageView>
<ImageView fitHeight="103.0" fitWidth="162.0" layoutX="78.0" layoutY="-9.0" preserveRatio="true">
    <image>
        <Image url="@images/eol2.gif" />
    </image>
</ImageView>

我已經找到了答案,因此您需要在相對URL中包含項目的完整類路徑。

例如,如果我的FXML文件位於以下軟件包中:

com/dscalzi/testproject/ui/MyFXML.fxml

我的圖片在以下軟件包中:

com/dscalzi/testproject/ui/assets/myimage.png

正確的相對路徑為:

<Image url="@/com/dscalzi/testproject/ui/assets/myimage.png" />

看來fxml使用完整的類路徑加載圖像。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM