簡體   English   中英

JTree上的自定義圖標

[英]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上加載圖像?

是的,您可以使用ImageIconString構造函數,它允許您指定文件路徑:

ImageIcon imageIcon = new ImageIcon("images/image.png")

您可以使用相對於工作目錄的路徑或絕對路徑。

還有一種方法可以自動縮放正確大小的圖像以便在JTree上顯示嗎?

看看這個問題的答案,我想這會讓你做你想做的事。

暫無
暫無

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

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