[英]Custom Icons on JTree
我有兩個問題的圖標。
我使用ImageIcons作為JTree上的默認圖標。 正如教程所建議的那樣,我使用這種方法加載圖標:
protected ImageIcon createImageIcon(String path) {
java.net.URL imgURL = getClass().getResource(path);
if (imgURL != null) {
return new ImageIcon(imgURL);
} else {
System.err.println("Couldn't find file: " + path);
return null;
}
}
雖然為了實現這一點,我必須使用我認為很亂的源代碼將圖像存儲在文件中(但我閱讀了運行.jar所需的內容)。 有沒有辦法在項目文件夾而不是src上加載圖像?
還有一種方法可以自動縮放正確大小的圖像以便在JTree上顯示嗎? 謝謝 !
代碼不會從src
文件夾加載ImageIcon。 它從運行時類路徑加載它。 對於要在運行時類路徑中的圖像,最簡單的方法是將它們放在src
文件夾中,以便IDE自動將它們與.class文件一起復制到目標文件夾。
如果需要,可以在項目中定義另一個源目錄(例如,命名resources
),IDE還會將此源目錄的文件復制到目標文件夾。 這允許將Java文件與資源文件分開。
有沒有辦法在項目文件夾而不是src上加載圖像?
是的,您可以使用ImageIcon
的String
構造函數,它允許您指定文件路徑:
ImageIcon imageIcon = new ImageIcon("images/image.png")
您可以使用相對於工作目錄的路徑或絕對路徑。
還有一種方法可以自動縮放正確大小的圖像以便在JTree上顯示嗎?
看看這個問題的答案,我想這會讓你做你想做的事。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.