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

我的代码片段如下:

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();
}

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

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

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

转载注明原文:Java.awt.SystemTray没有正确显示托盘图标 - 代码日志