我知道我可以为每个表单指定一个表单,或者为根表单指定一个,然后它将级联到所有子表单,但我想有一种方法可以覆盖所有的默认Java咖啡杯即使是那些我可能会忘记的东西。
有什么建议吗?
答案 0 :(得分:9)
您可以将根表单(我假设您的意思是JFrame
)作为您自己的JFrame
子类,并将标准功能放在其构造函数中,例如:
this.setIconImage(STANDARD_ICON);
您也可以在此处捆绑其他标准内容,例如将框架的窗口指标记忆为用户首选项,管理启动窗格等。
由此产生的任何新帧也将是此JFrame
子类的实例。您唯一需要记住的是实例化您的子类,而不是JFrame
。我认为没有任何替代方法可以记住这样做,但至少现在要记住子类而不是setIconImage
调用(可能还有其他功能)。
答案 1 :(得分:2)
还有另外一种方法,但它更像是一种“黑客”,而不是真正的修复......
如果您正在使用您的应用程序分发JRE,您可以使用您自己的图标替换java exe / dll / rt.jar中的咖啡杯图标资源。它可能不是非常合法,但它有可能......
答案 2 :(得分:1)
此外,如果您有一个“主”窗口并正确设置其图标,只要您将该主窗口用作任何Dialog类的“父”,它们就会继承该图标。但是,任何新的框架都需要在它们上面设置图标。
正如Paul / Andreas所说,继承JFrame将是你最好的选择。答案 3 :(得分:0)
扩展JDialog类(例如将其命名为MyDialog)并在构造函数中设置图标。然后所有对话框都应该扩展您的实现(MyDialog)。