2015-06-08 43 views
1

我這裏有很好的技巧和工作代碼如何在Windows7,8中設置我的Java應用程序的桌面圖標?

InputStream img = Main.class.getResourcesAsStream("/optician/icon.png"); 
BufferedImage myImg=ImageIO.read(img); 
setIconImage(myImg); 

這裏也try/catch語句,但我沒有寫這個。所以,這在任何地方都可以正常工作,在JFrame中,在任務欄中,任何地方都可以正常工作,但在我的桌面上又是Java咖啡杯,它不會隨着此代碼而改變。任何想法如何我可以改變桌面圖標?我找不到任何解決辦法...

+1

看看'Launch4J'你可以創建一個可執行文件出java jar文件,你可以指定一個圖標... – brso05

+0

這個文件放置在哪裏? –

+0

如果你想到這個PNG文件,它被放置在我的項目的包中,我做了可運行的.jar文件。所以我將它稱爲ResourceStream從包中讀取它。 –

回答

1

操作系統分配基於文件關聯的圖標。因爲你的代碼被編譯成一個jar文件,操作系統會給它一個它給所有jar文件的圖標。

要給應用程序一個自定義圖標,必須將其編譯爲可執行文件或使用可執行文件啓動該jar。如果操作系統知道某個文件是可執行文件,它將檢查它是否在其二進制文件中提供了一個圖標,如果沒有,它會將其設爲默認圖標。

有許多第三方程序可以從罐子製作可執行文件。你可以使用你最喜歡的搜索引擎進行搜索以找到一個合適的程序(沿着「jar to executable」或「jar to exe」的行)

+0

嗨,我從Launch4J做到了,我做了這項工作,我從.jar製作.exe的工作正常。當我有植物圖像時,我有32x32,64x64及更高版本和每張圖片(.ico)當我創建.exe文件是一個壞質量,我不知道爲什麼以及如何修復它? –

0

對於Java咖啡杯圖標變化,你可以使用下面的代碼

public class StuInfo extends JFrame { 

Container cont; 

StuInfo() { 
    setIconImage(new ImageIcon(ClassLoader.getSystemResource(
      "images/LOGO000.gif")).getImage()); 
    setLayout(null); 
    cont = getContentPane(); 
    cont.setLayout(null); 
    cont.setBounds(0, 0, 700, 600); 
    setSize(600, 500); 
    setVisible(true); 

} 

public static void main(String args[]) { 
    StuInfo s = new StuInfo(); 
    s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    } 
} 
+0

這沒有幫助,它的工作也很好,我可以看到我的IMG在左邊角落,在taskmenu,無處不在,但在桌面上仍然是java咖啡杯。 我發現解決方案變得Launch4J,但每當我從它得到的圖片,它使質量差,當我轉換爲.exe –

相關問題