我是自學的,並嘗試使用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指向圖像文件夾。以及更多。
而結果是我已經意識到我仍然不明白這一點,並且我的結構可能不被推薦。這有點令人沮喪!
如果任何人都可以隱約地指出我正確的方向,將不勝感激!
哦,你在開玩笑吧。它正在工作。 這是一個Windows隱藏我的擴展名的情況下,在該文件,但不是該文件夾中的每個其他文件。 如果有人會介意,我還是會喜歡反饋我的包的結構 – NickW