Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于高dpi屏幕,当操作系统被缩放时,Java应用程序trayicon看起来很糟糕_Java_Resolution_Trayicon - Fatal编程技术网

由于高dpi屏幕,当操作系统被缩放时,Java应用程序trayicon看起来很糟糕

由于高dpi屏幕,当操作系统被缩放时,Java应用程序trayicon看起来很糟糕,java,resolution,trayicon,Java,Resolution,Trayicon,使用Java,您可以使用TrayIcon和Java.awt.SystemTray创建TrayIcon。但是,当您将Windows与4K显示器结合使用时,这个图标看起来很糟糕,而且Windows会自动将所有内容放大 Java将trayiconsize设置为16x16,但这对于缩放模式来说太小了,因此看起来很糟糕。你知道怎么解决这个问题吗 编辑: 下面是一个示例代码和结果的屏幕截图。我正在使用宝马的徽标(256x256像素):) 结果(查看右下角图标): 我知道这是一个愚蠢的问题,但屏幕截图可能会很

使用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);
    }

}