2010-07-06 79 views
3

如何設置所有Java Swing窗口的默認圖標?如何設置所有Java Swing窗口的默認圖標?

否則,我必須爲我創建的每一幀設置圖標。

您的建議是? 簡單的黑客也被接受。

許多THX

更新:最好的,如果你認爲可以保留現有的框架創建代碼不變的方法。 THX

+0

應用程序應該有一個單一的JFrame新Abstract Class,並呼籲super子類。然後,您使用應用程序的其他子窗口的JDialogs。因此,krock建議您只需在第一次創建JFrame時在一個位置更改圖標。 – camickr 2010-07-06 05:21:53

回答

1

創建Abstact類extends JFrame

在構造函數中設置的圖標。

創建擴展在你的構造

public abstract class MainFrame extends JFrame { 
    protected MainFrame() { 
     this.setIconImage(null); // Put your own image instead of null 
    } 
} 

public class ChildFrame extends MainFrame { 
    public ChildFrame() { 
     super(); 
    } 
} 

你也可以從你的新類中創建對象

public class MainFrame extends JFrame { 
    public MainFrame() { 
     this.setIconImage(null); // Put your own image instead of null 
    } 
} 

public class Frame { 

    private MainFrame mainframe = new MainFrame(); 

    public Frame() { 
     super(); 
    } 
} 
+1

+1另外我相信所有的JDialogs都會從父窗口繼承圖標,所以只需要擔心JFrames/JWindows。 – krock 2010-07-06 03:10:42

+0

這仍然是爲每個創建的幀設置圖標的替代方法。最大的缺點是對現有代碼不友好。 – Defd 2010-07-06 03:37:51

+0

此外,它不適用於第三方庫產卵幀。 – 2012-02-16 16:34:23

相關問題