簡體   English   中英

圖片未加載到jar文件中

[英]Image not loading in jar file

我正在嘗試解決此問題。 嘗試不同的解決方案,但無濟於事。 我正在使用NetBeans IDE。 我創建了一個具有以下結構和文件的項目:

E:\\ java的\\項目\\ ecadpb的\\ src \\ ecadpb

圖像文件在

E:\\ java的\\項目\\ ecadpb的\\ src \\

我在Netbeans中為我的項目指定了工作文件夾為E:\\java\\project\\ecadpb

我已經創建了這樣的圖像圖標

new ImageIcon("device21.png");

在我的源文件中,當在Netbeans中運行項目時,它可以完美運行,但是當我分別構建和運行JAR文件時,沒有顯示圖像。 但是圖像文件位於JAR內部。

我也嘗試過回答之前提出的相同問題的答案。

URL imageUrl=getClass().getResource("device21.png");
new ImageIcon(imageUrl);

但這對我來說不起作用。 我是第一次構建JAR文件。 誰能幫我這個!!

一種簡單的方法是將圖像添加到類路徑或類路徑中的目錄img ,如下所示:

E:\java\project\ecadpb\src\main\java\img\device21.png 

然后從該位置加載圖像,如下所示:

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL resource = classLoader.getResource("img/device21.png");
ImageIcon icon = new ImageIcon(resource);

創建一個名為Images的源文件夾(即,如果您使用的是eclipse,請右鍵單擊您的項目-> new-> sourceFolder)。 隨便叫什么,我都叫我的圖片。 在其中放入一些圖像。

現在我有了JLabels,在這里我給了他們ImageIcons。 看下面的代碼。

    ImageIcon BPawn;
    ImageIcon WPawn;
    JLabel Label = new JLabel[8][8] //2D array of labels that gives each spot a position.
    public void setPieces(){
        //set up pawns in their respective positions.
        BPawn = new ImageIcon("Images/BPawn.png", "BPawn");
        WPawn = new ImageIcon("Images/WPawn.png", "WPawn");
    for(int i=0;i<Label[0].length;i++){
        Label[1][i].setIcon(BPawn);
        Label[6][i].setIcon(WPawn);
    }//end for

    }//end setPieces.

setPieces()方法還有很多,但是可以一窺這就是創建可執行jar並希望顯示圖像時如何引用源文件夾中的圖像。

我認為,答案可能是一個這些建議在這里

我曾經用過類似的方法

a)指定圖像文件名的包路徑。

b)確保構建腳本未忽略映像文件,並且該映像文件存在於jar文件中。

暫無
暫無

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

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