2011-08-09 53 views
3

我想從JFileChooser更改內置java圖標。 JFrame類有一個setIconImage()設置圖標的方法。但我找不到像JFileChooser那樣的任何東西。如果不更換咖啡杯,任何人都可以輕鬆認識到我的軟件是用java製作的。任何人都可以幫助我避免這種情況嗎?如何更改JFileChooser中的默認java圖標

+1

你爲什麼要隱藏應用程序已用java做? – 2011-08-09 10:50:04

+2

有沒有特別的理由......但我喜歡這樣做兄弟... – Thusitha

回答

10

IIRC JFileChooser的圖標取自傳入的jFrame。通過更改JFrame的圖標,還應該在JFileChooser中獲得反射圖標更改。

的代碼:

JFileChooser choice = new JFileChooser() 
choice.showOpenDialog(parent); 

的圖標,其用於爲從父圖標。

+0

重複的答案 – mre

+0

謝謝...我得到了答案.... – Thusitha

6

這可以幫助:

JFileChooser fc = new JFileChooser(new File("C:/")){ 
    @Override 
    protected JDialog createDialog(Component parent) throws HeadlessException { 
     JDialog dialog = super.createDialog(parent); 
     BufferedImage image = new BufferedImage(16, 16, BufferedImage.TYPE_3BYTE_BGR); 
     dialog.setIconImage(image); 
     return dialog; 
    } 
}; 
fc.showOpenDialog(frame); 
+0

謝謝。這比選擇的答案要好,因爲它允許任何**自定義圖標,而不僅僅是從父類繼承。 – The111

1
javax.swing.JFileChooser jfc = new javax.swing.JFileChooser(new java.io.File("C:/Users/Documents")) { 
      @Override 
      protected javax.swing.JDialog createDialog(java.awt.Component parent) throws java.awt.HeadlessException { 
       javax.swing.JDialog dialog = super.createDialog(parent); 

       dialog.setIconImage(new 
         javax.swing.ImageIcon("C:/Img.png").getImage()); 

       return dialog; 

      } 
     };