2010-07-06 410 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