3

在此处输入图像描述当 JFrame 像其他 mac 应用程序一样最小化到 Dock 时,为它设置一个图标。请帮忙..

4

4 回答 4

1

Mikle所指的一个例子:

现在移至:Swing 中使用的框架图标的大小

图标大小使用 - 显示 16x16 帧图标

图标大小用法 - Alt+Tab

于 2013-08-13T14:14:40.910 回答
0

使用 Mac 操作系统提供的 jar bundler 创建应用程序。使用 jar bundler 设置应用程序的图标,不要为您的 jframe 设置任何图标。

于 2013-08-14T04:53:23.200 回答
0

Window 类具有setIconImages需要java.util.List<? extends Image>作为参数的方法。您将必须传递具有不同大小的图像列表,以便操作系统可以从该列表中为每种特定情况选择一个 - 它是最小化图标、停靠/工具栏图标、窗口图标还是任何其他系统特定 UI 的图标元素。

我通常会为自己的应用程序传递很多不同尺寸的图像:16x16、24x24、32x32、48x48、64x64、128x128、256x256、512x512

大的通常由大型工具栏或文件夹视图使用,以显示与您的应用程序关联的文件的图标。通常也使用 16x16 图标作为窗口(框架/对话框)图标。其他图标可以在很多不同的情况下使用,这取决于您拥有的操作系​​统(Windows、Mac OS 等)。

于 2013-08-13T10:28:59.060 回答
0

你真的在说两件事。

  1. 应用程序在 Dock、Finder 等中的图标。

    如前所述,appbundle 甚至简单地手动创建捆绑包是解决此问题的方法。

  2. 应用程序最小化到 Dock 时的图标

    当您最小化应用程序时,它会成为一个单独的停靠条目,不一定看起来像应用程序之一。

    Window 有setIconImages- 如果你设置了这个方法,应用程序在最小化时会变成那个图标,看起来不是原生的。因此,您应该在调用该方法之前检查您是否在 OSX 上运行并避免调用它。

    通过省略调用,您将获得默认行为,其中最小化图标将是窗口本身外观的微型副本,这是我们看到其他应用程序所做的事情。如果 JRE 能够为我们解决这个问题,并且在 Mac OS X 上运行时忽略这些图标,那就太好了。

于 2014-05-02T07:17:51.323 回答