2017-01-18 21 views
0

我是自學的,並嘗試使用getClass()加載圖像。getResource(path)我想我突出瞭如何構建項目的問題。我目前只使用cmd和TextPad。包裝結構(以及放置圖像的位置)

我的文件夾結構如下:

桌面/爪哇/ UK/CO /伍德沃德/使用 javac -d "." uk/co/woodward/recruit/src/example.java

的招募

/build 
    /images 
    /src 

我從Java文件夾編譯命令提示.java文件在package uk.co.woodward.recruit.build;

這一切工作正常,類最終在建立摺疊呃,但是在閱讀如何在java軌道中使用圖標時,我意識到「構建」不是一個包,我對如何設置圖像文件相對於當前類的位置有點困惑。我也不確定是否應該將'Java'(或招聘)設置爲某種根變量/路徑,而不僅僅是從那裏編譯。

無論如何,我迄今爲止所嘗試的任何工作都沒有成功。

public CandidateFormToolBar(){ 
    saveButton.setIcon(createIcon("/images/save.png", "Save")); 
    add(saveButton); 
} 

private ImageIcon createIcon(String path, String btnName){ 
    URL url = getClass().getResource(path); 
    if(url == null) 
     System.err.println("\nThe " + btnName + " Icon Path Cannot Be Found: " + path + "\n"); 

    return new ImageIcon(url); 
} 

當運行具有與類build文件夾中的圖像,並使用路徑「save.png」我已經嘗試了程序,我試過上面的代碼(我還以爲會去了級別到招聘文件夾,然後到圖像文件夾),沒有運氣。我已經嘗試使用-cp將jvm指向圖像文件夾。以及更多。

而結果是我已經意識到我仍然不明白這一點,並且我的結構可能不被推薦。這有點令人沮喪!

如果任何人都可以隱約地指出我正確的方向,將不勝感激!

+0

哦,你在開玩笑吧。它正在工作。 這是一個Windows隱藏我的擴展名的情況下,在該文件,但不是該文件夾中的每個其他文件。 如果有人會介意,我還是會喜歡反饋我的包的結構 – NickW

回答

0

將圖像放入放置Java文件的文件夾中。就像tomcat服務器一樣,這是我用來訪問我的jsp文件中的圖像的結構。

>>Web content 
    >imagesfolder 
    >Web-inf 
    Myfile.jsp 

現在從imagefolder訪問圖像我使用以下網址 「imagesfolder/myimage.png」 這Myfile.jsp文件。這裏的網頁內容是Myfile.jsp文件夾和2個子文件夾imagesfolder和web-inf,而imagesfolder文件夾包含myimages.png

如果你的文件在Java文件夾中,然後創建一個圖像文件夾在那裏,並使用上面提到的url模式訪問它們。

希望這解決您的查詢。

+0

該結構看起來像Web-inf,而不是Webcontent文件夾包含Myfile.jsp。或者我誤解了? – NickW

+0

是的,你是對的我現在已經糾正它。 –

+0

所以你建議把圖像放在內容文件夾的子文件夾中,我猜想它會等同於我的「build」文件夾(包含我的類文件而不是我的文件夾)。java源文件)。說得通。謝謝 – NickW

相關問題