9

我的代码片段如下:

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?

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

4

1 回答 1

14

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

于 2012-05-30T16:31:33.000 回答