java 1.8+;全屏独占模式设置全屏窗口(帧)奇怪行为
我正在开发一个全屏应用程序,发现了一些非常奇怪的行为,使用java 1.8+;全屏独占模式设置全屏窗口(帧)奇怪行为,java,fullscreen,Java,Fullscreen,我正在开发一个全屏应用程序,发现了一些非常奇怪的行为,使用setFullScreenWindow(Frame)在一些笔记本电脑上实际将应用程序框架设置为全屏独占模式。虽然我的代码可以在大多数WinOS系统上工作,但在某些系统上却不行。分辨率更改可以正常工作,但应用程序仍保持在屏幕的左上角,保持原来的分辨率,如setFullScreenWindow(Frame)调用实际上不起作用。没有引发异常。如果我将第二个显示器连接到系统并使其成为主显示器,它会突然工作。如果我断开第二个显示器的连接并在以前使用
setFullScreenWindow(Frame)
在一些笔记本电脑上实际将应用程序框架设置为全屏独占模式。虽然我的代码可以在大多数WinOS系统上工作,但在某些系统上却不行。分辨率更改可以正常工作,但应用程序仍保持在屏幕的左上角,保持原来的分辨率,如setFullScreenWindow(Frame)
调用实际上不起作用。没有引发异常。如果我将第二个显示器连接到系统并使其成为主显示器,它会突然工作。如果我断开第二个显示器的连接并在以前使用的本机显示器上运行应用程序,它现在也会突然工作。如果我重新启动系统,本机显示器再次无法使应用程序全屏显示。isFullScreenSupported()
和isDisplayChangeSupported()
在任何情况下都是正确的。
奇怪。笔记本电脑是安装了Bootcamp WinOS10的MacBookPro,但问题不限于此硬件或WinOS10版本
client.windowScale = 2;
client.setVisible(false);
client.setResizable(false);
client.setUndecorated(true);
client.setSize(RES_WIDTH * client.windowScale, RES_HEIGHT * client.windowScale);
DisplayMode newDisplayMode;
GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
DisplayMode_Old = gd.getDisplayMode();
if (gd.isFullScreenSupported() & gd.isDisplayChangeSupported()) {
gd.setFullScreenWindow(client);
gd.setDisplayMode(
new DisplayMode(
RES_WIDTH * client.windowScale,
RES_HEIGHT * client.windowScale,
DisplayMode_Old.getBitDepth(),
DisplayMode_Old.getRefreshRate()));
}
else {
System.out.println("Fullscreen failed.");
}
}
实际图像:为什么不在清单中设置它?因为我想随时在全屏和窗口模式之间切换..为什么不在清单中设置它?因为我想随时在全屏和窗口模式之间切换。。