Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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
Java 检测是否在HiDPI显示器上运行_Java_Macos_Swt_Retina Display - Fatal编程技术网

Java 检测是否在HiDPI显示器上运行

Java 检测是否在HiDPI显示器上运行,java,macos,swt,retina-display,Java,Macos,Swt,Retina Display,如何从SWT应用程序中检测它正在HiDPI(“视网膜”)显示器上运行?类设备,它是显示器的一个超类,具有一个名为getDPI()的方法,该方法将返回显示器的DPI值: Device device = shell.getDisplay(); System.out.println(device.getDPI()); 我知道,但是如何检测OSX是否在“视网膜”显示模式下运行?那么,除了DPI设置之外,您还需要知道什么?我对OSX了解不多,但由于SWT对每个平台都有(几乎)相同的API,我的猜测是,您

如何从SWT应用程序中检测它正在HiDPI(“视网膜”)显示器上运行?

设备
,它是
显示器的一个超类,具有一个名为
getDPI()
的方法,该方法将返回显示器的DPI值:

Device device = shell.getDisplay();
System.out.println(device.getDPI());

我知道,但是如何检测OSX是否在“视网膜”显示模式下运行?那么,除了DPI设置之外,您还需要知道什么?我对OSX了解不多,但由于SWT对每个平台都有(几乎)相同的API,我的猜测是,您无法从SWT获得这些信息。您可能能够从SWT在命令行中运行一些东西,并解析结果……但是对于OS X上的“视网膜/HiDPI”模式,一个虚拟像素映射到2x2物理像素(例如,1920x1200监视器以960x600 HiDPI分辨率运行)。这将产生非常平滑的图形。