[英]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.