2013-03-20 80 views
1

所以我是Java的新手,這將有可能是您將看到的最簡單的問題,但我仍然無法在互聯網上找到安裝程序。Eclipse參考圖像

我想設置我的程序的圖標,此代碼的工作: frame.setIconImage(Toolkit.getDefaultToolkit().getImage("MYPROBLEM"));

但我不能得到的路徑在MYPROBLEM部分正確。這是我的結構:

項目名

-src

--default包

--- myfunctions

--test < ----地圖

--- icon.png

每當我用src/test/icon.png替換MYPROBLEM它都可以工作。然而,當我將我的應用程序導出爲jar時,默認的Java圖標顯示出來。用類似test/icon.png的東西代替MYPROBLEM也不起作用。

我爲我的英語做了appologise。因爲我是新手所以忍受我吧)

+0

我認爲,這些樣的資源需要在資源文件夾(不使用Eclipse,但看到這個問題,所有的時間) – MadProgrammer 2013-03-20 19:20:29

+0

'frame.setIconImage(Toolkit.getDefaultToolkit()。getImage(「MYPROBLEM.png」));' – 2013-03-20 19:24:48

+0

.png部分不是問題。我不知道在哪裏創建資源文件夾。沒有默認情況下。 – jipje44 2013-03-20 19:50:01

回答

1

這將加載類路徑中的圖像。

Image image = new ImageIcon(this.getClass().getResource("MYPROBLEM")).getImage(); 
frame.setIconImage(image); 
+0

將該icon.png放在src文件夾中。 getImage(「icon.png」)不起作用。 – jipje44 2013-03-20 19:54:40

+0

這是一個更新的版本。 – clav 2013-03-20 20:08:31

+0

令人驚歎!非常感謝你! – jipje44 2013-03-20 20:16:32

0

由於某種原因有時它不起作用,但您可以做的是添加圖像位置的完整路徑。這裏有一個例子

import java.awt.Dimension; 
import java.awt.Image; 

import java.awt.Toolkit; 

import javax.swing.JFrame; 

import java.awt.Toolkit; 

import javax.swing.JFrame; 

public class JFrameIcon { 

    public static void main(String[] args) { 

     JFrame frame = new JFrame(); 

     frame.setSize(300, 150); 

     frame.setTitle("tutorialData.com"); 

     frame.setResizable(false); 

     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     frame.setAlwaysOnTop(true); 

     frame.setIconImage(Toolkit.getDefaultToolkit().getImage("C:\\Users\\Sirnurpc\\Desktop\\icon.png")); 

     frame.setVisible(true); 

    } 

} 

參考seticon

在你的情況,如果你使用的是NetBeans則該位置將是

C:\用戶\ yourloginname \文檔\的NetBeansProjects \ yourproject \ imagename。 png

對於Eclipse,我猜你正在使用的將是這樣的東西

C:\用戶\ yourlogingname \工作區\ yourproject \ imagename.png

+0

這不是我要找的。 .jar也將分發給其他計算機。因此「靜態」路徑不會工作。 – jipje44 2013-03-20 19:52:56

+0

你使用的是默認包嗎? – 2013-03-20 19:57:14

+0

我正在使用eclipse。我不知道默認的軟件包是什麼意思,但它是一個小項目,我沒有添加任何奇怪的東西。我只是選擇了一個標準的Java項目。 – jipje44 2013-03-20 20:03:05