我试图让Java全屏独占模式在我的计算机上以1080p运行,但它的大小只有1536 x 864.显示模式也设置为1920 x 1080。
GraphicsDevice device = GraphicsEnvironment
.getLocalGraphicsEnvironment().getDefaultScreenDevice();
// device.getDisplayMode() returns 1920 x 1080 and some other stats
// device.getDefaultConfiguration().getBounds() returns 1536 x 864
我希望尝试将屏幕设置为1920 x 1080而不是1536 x 864.是否有实际的方法可以做到这一点还是这是正常的?
提前致谢!
编辑:目前,我正在使用它在Windows上工作
“为什么”选择这种模式,我不能说,但你要做的第一件事就是检查可用模式......
DisplayMode modes[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDisplayModes();
for (DisplayMode mode : modes) {
System.out.println(mode);
}
所以,在我的2017 MacBook Pro上,运行macOS Maojave(10.14)我得到......
2880x1800x32bpp@[Unknown refresh rate]
1440x900x32bpp@[Unknown refresh rate]
3360x2100x32bpp@[Unknown refresh rate]
2560x1600x32bpp@[Unknown refresh rate]
2048x1280x32bpp@[Unknown refresh rate]
1650x1050x32bpp@[Unknown refresh rate]
1280x800x32bpp@[Unknown refresh rate]
1152x720x32bpp@[Unknown refresh rate]
1024x768x32bpp@[Unknown refresh rate]
840x524x32bpp@[Unknown refresh rate]
800x600x32bpp@[Unknown refresh rate]
640x480x32bpp@[Unknown refresh rate]
1680x1050x32bpp@[Unknown refresh rate]
但是,正如你所看到的,这里不支持1080p :(,所以,如果我在你的鞋子里,我需要找到一些接近的东西。也许,1650x1050
或2048x1280
这对你有什么帮助?好吧,一旦你确定了满足你需求的最佳模式,并且根据documentation,你可以简单地做...
GraphicsDevice device = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
device.setFullScreenWindow(frame);
device.setDisplayMode(mode);