Java:标题栏中未显示JFrame图标(OS X)

时间:2012-10-22 12:54:26

标签: macos icons jframe

我正在尝试在OS X中向JFrame标题栏添加一个图标。我使用的代码是:

ImageIcon icon = new ImageIcon("src/images/theIcon.gif");
System.out.println("Icon dimensions are " + icon.getIconWidth() + " by " + icon.getIconHeight());
frame.setIconImage(icon.getImage());

没有显示图标,控制台输出显示图像的正确尺寸。 表达式setIconImage(icon.getImage())一定有问题,但我看不清楚。

我在Mac OS 10.8.2上运行Java SE 6和Eclipse Juno。实际上,我想知道这是否是OS X问题。

1 个答案:

答案 0 :(得分:0)

默认情况下,OS X不会使用图标绘制标题栏。您可以启用跨平台外观来绘制图标。然而,这样做可能会伤害你的眼睛,因为它并不是特别漂亮。

在创建JFrame之前执行此操作(例如,在main方法中)。

try {
    UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
    JFrame.setDefaultLookAndFeelDecorated(true);
} catch (Exception e) {
    e.printStackTrace();
}

以下是包含和不包含上述代码的屏幕截图:

JFrame with and without cross platform l&f