我正在尝试在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问题。
答案 0 :(得分:0)
默认情况下,OS X不会使用图标绘制标题栏。您可以启用跨平台外观来绘制图标。然而,这样做可能会伤害你的眼睛,因为它并不是特别漂亮。
在创建JFrame之前执行此操作(例如,在main
方法中)。
try {
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
JFrame.setDefaultLookAndFeelDecorated(true);
} catch (Exception e) {
e.printStackTrace();
}
以下是包含和不包含上述代码的屏幕截图: