由于高dpi屏幕,当操作系统被缩放时,Java应用程序trayicon看起来很糟糕
使用Java,您可以使用TrayIcon和Java.awt.SystemTray创建TrayIcon。但是,当您将Windows与4K显示器结合使用时,这个图标看起来很糟糕,而且Windows会自动将所有内容放大 Java将trayiconsize设置为16x16,但这对于缩放模式来说太小了,因此看起来很糟糕。你知道怎么解决这个问题吗 编辑: 下面是一个示例代码和结果的屏幕截图。我正在使用宝马的徽标(256x256像素):) 结果(查看右下角图标):由于高dpi屏幕,当操作系统被缩放时,Java应用程序trayicon看起来很糟糕,java,resolution,trayicon,Java,Resolution,Trayicon,使用Java,您可以使用TrayIcon和Java.awt.SystemTray创建TrayIcon。但是,当您将Windows与4K显示器结合使用时,这个图标看起来很糟糕,而且Windows会自动将所有内容放大 Java将trayiconsize设置为16x16,但这对于缩放模式来说太小了,因此看起来很糟糕。你知道怎么解决这个问题吗 编辑: 下面是一个示例代码和结果的屏幕截图。我正在使用宝马的徽标(256x256像素):) 结果(查看右下角图标): 我知道这是一个愚蠢的问题,但屏幕截图可能会很
我知道这是一个愚蠢的问题,但屏幕截图可能会很好。我还发现,如果你不提供16x16图像,它通常看起来很糟糕……好吧,我用示例代码和屏幕截图更新了我的问题。16x16像素也不好。
package trayicon;
import java.awt.AWTException;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Trayicon {
public static void main(String[] args) throws IOException {
//Check the SystemTray is supported
if (!SystemTray.isSupported()) {
System.out.println("SystemTray is not supported");
return;
}
BufferedImage img = ImageIO.read(new File("256x256.png"));
final TrayIcon trayIcon =
new TrayIcon(img, "Trayicon");
trayIcon.setImageAutoSize(true);
final SystemTray tray = SystemTray.getSystemTray();
try {
tray.add(trayIcon);
} catch (AWTException e) {
System.out.println("TrayIcon could not be added.");
}
System.in.read();
System.exit(0);
}
}