Java.awt.SystemTray没有正确显示托盘图标

时间:2012-05-30 16:20:12

标签: java swing icons awt system-tray

我的代码片段如下:

SystemTray systray = SystemTray.getSystemTray();

try{
    TrayIcon trayicon = new TrayIcon(new ImageIO.read(new File("icon.png")),"I am a description");
}
catch(IOException e) {
    e.printStackTrace();
}

一切运行顺畅,但系统托盘中显示的图像被切断。除非我缩小到16x16(从40x40),否则只显示左上角部分。 icon.png是正确加载的图像文件(非空)。我以为系统托盘图标文件可能是40px?

有人可以向我解释这里有什么问题吗?

1 个答案:

答案 0 :(得分:13)

可能性包括TrayIcon.setImageAutoSize(),也许你的操作系统(假设Windows)被设置为某种高dpi显示,如120或144,Java不能正确适应。