[英]Relative resource paths in Java project in IntelliJ IDEA
我試圖通過使用相對路徑在我的 GUI 中顯示一個圖標,如“從resources/image.png
圖像顯示圖像”。 我已經嘗試了一百萬種不同的方式來表達這一點,但沒有任何效果。 這讓我覺得這是我的 IntelliJ IDEA 設置或項目結構的問題。 我已將“資源”文件夾設置為“資源文件夾”。 我不知道它還希望我做什么。
如何使用 IntelliJ IDEA 中 Java 項目中的相對路徑從文件加載圖標?
我的項目結構:
src/main/java/ <-- set as "sources" in IntelliJ
src/main/java/ui/ <-- contains classes for my GUI
src/main/resources/ <-- set as "resources" in IntelliJ. Contains images.
編輯:能夠使用相對路徑來確認找到文件,無法將其加載為圖標。
String path = "src/main/resources/image.png";
System.out.println(new File(path).exists()); <-- true
我多次遇到這個問題,對我InputStream
是使用InputStream
InputStream is = Main.class.getClassLoader().getResourceAsStream("name_of_file.png");
使用InputStream
將允許您從各種文件類型中讀取。 現在加載你可以做的圖標
Icon icon = new ImageIcon(ImageIO.read(is));
資源在類路徑上,而不是在文件系統路徑上——它是從運行目錄中獲取的,當你從idea運行它時,它是項目目錄。 通常你會將應用程序作為 jar 分發,這最好從類路徑加載資源。 在 zour 情況下 - 從根目錄
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.