我知道我可以为每个表单指定一个表单,或者为根表单指定一个表单,然后它将级联到所有子表单,但我想有一种方法可以覆盖所有的默认Java咖啡杯即使是那些我可能会忘记的东西。

有什么建议吗?

有帮助吗?

解决方案

您可以将根表单(我假设您的意思是 JFrame )作为您自己的 JFrame 的子类,并将标准功能放在其构造函数中,例如:

this.setIconImage(STANDARD_ICON);

您也可以在此处捆绑其他标准内容,例如将框架的窗口指标记忆为用户首选项,管理启动窗格等。

由此产生的任何新帧也将是此 JFrame 子类的实例。您唯一需要记住的是实例化您的子类,而不是 JFrame 。我认为没有任何替代方法可以记住这样做,但至少现在要记住子类而不是 setIconImage 调用(可能还有其他功能)。

其他提示

还有另一种方式,但更多的是“黑客攻击”。然后是一个真正的修复......

如果您正在使用您的应用程序分发JRE,您可以使用您自己的图标替换java exe / dll / rt.jar中的咖啡杯图标资源。它可能不是非常合法,但它有可能......

另外,如果你有一个“主要”窗口,并正确设置其图标,只要您将该主窗口用作“父”窗口即可。对于任何Dialog类,它们都将继承该图标。但是,任何新的框架都需要在它们上面设置图标。

正如Paul / Andreas所说,继承JFrame将是你最好的选择。

扩展JDialog类(例如将其命名为MyDialog)并在构造函数中设置图标。然后所有对话框都应该扩展您的实现(MyDialog)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top