【问题标题】:Favicon in JFrameJFrame 中的网站图标
【发布时间】:2012-02-05 03:55:28
【问题描述】:

我正在使用 Java Swing 开发一个小项目。我在 Windows 7 上使用 jdk 7。

我有我的应用程序(JFrame)的主窗口,当然它有一个我设置的“favicon”(它是否是默认的 java 徽标甚至都没有关系)。

我的问题是: 是否有可能禁用点击图标?当我单击时,我会看到特定于所有 Windows 应用程序的菜单。关闭、最小化等。

我想忽略该点击。 我在互联网上搜索了一段时间,但没有找到答案,看来我是第一个寻找这个的人。

谢谢。

【问题讨论】:

  • 这可能是特定于操作系统的事情,如果是这样,它就无法在核心 Java 中修复。我想您可以使用未装饰的窗口并提供自己的伪装饰。
  • 是的,我可以隐藏它,我可以改变它……但@onClick 的行为将保持不变。
  • 您始终可以选择自己装饰标题。删除默认装饰并添加您自己的。
  • “看来我是第一个寻找这个的人。” 总是一个很好的警告,你正在尝试的东西 1) 不是最终用户所期望的(不是“最不意外的道路”)2)因此需要特别的理由。 你的理由是什么?

标签: java swing favicon


【解决方案1】:

要摆脱菜单,请将框架设置为未装饰(请参阅Frame.setUndecorated),但随后您将失去标题栏和使用鼠标重新定位框架的能力。不是一个很好的权衡。

此问题建议的可能解决方案:

Removing a Frame's title bar keeping the resize mechanims - Java

是使用未装饰的com.jidesoft.swing.ResizableFrame。听起来您会丢失标题栏,但仍然可以调整对话框的大小。

另一种选择是“隐藏”图标,例如:

Image icon = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB_PRE);
myFrame.setIconImage(icon);

但菜单仍然存在。

为什么要去掉菜单?最好在操作系统的外观和感觉范围内工作,而不是重新定义用户体验。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-20
    • 2017-12-05
    • 2015-04-23
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    相关资源
    最近更新 更多