Windows 8似乎使托盘图标为20 x 20像素.似乎
Java仍然认为它们应该是16 x 16像素.这会导致一些不好的变形,因为Java会缩小任务,然后Windows会缩小备份.以下示例使用这三个图像创建三个这样的托盘图标(注意失真):
.
import java.awt.Image;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
public class TrayTest
{
public static void main(String[] args) throws Exception
{
final SystemTray tray = SystemTray.getSystemTray();
TrayIcon trayIcon16 = new TrayIcon(getImage("16pxBlue.png"));
tray.add(trayIcon16);
TrayIcon trayIcon20 = new TrayIcon(getImage("20pxRed.png"));
tray.add(trayIcon20);
TrayIcon trayIcon20autoSize = new TrayIcon(getImage("20pxGreen.png"));
trayIcon20autoSize.setImageAutoSize(true);
tray.add(trayIcon20autoSize);
}
public static Image getImage(String resource)
{
return Toolkit.getDefaultToolkit().createImage(TrayTest.class.getResource(resource));
}
}
这是整个东西看起来像放大像素线添加(打开图像在一个新的选项卡将给你一个更清晰的视图):
我的问题:
如何防止Java / Windows 8扭曲我的图标?