我的代码片段如下:
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?
有人可以向我解释这里有什么问题吗?
答案 0 :(得分:13)
可能性包括TrayIcon.setImageAutoSize()
,也许你的操作系统(假设Windows)被设置为某种高dpi显示,如120或144,Java不能正确适应。