我正在编写一个程序来在两台显示器上显示文本。
现在我的方法是在两个监视器上启动LibGDX窗口,然后分别控制每个窗口。 但是,当两者都处于全屏模式时,只有一个窗口可以具有焦点。失焦窗口被隐藏起来。我该如何解决这个问题?
规格:
Windows 10
Java 1.8
LibGDX 1.9.3,使用LWJGL 3后端
代码:
在ApplicationListener中:
@Override
public void show() throws RuntimeException {
// Throws exception if it is set to go to monitor 1 and it does not exist
if (external && Gdx.graphics.getMonitors().length < 2)
throw new RuntimeException("Cannot extend to secondary monitor.");
Gdx.graphics.setFullscreenMode(Gdx.graphics.getDisplayMode(Gdx.graphics.getMonitors()[external ? 1 : 0]));
}
然后,打开窗口:
@Override
public void openWindow(ApplicationListener a) {
Lwjgl3WindowConfiguration config = new Lwjgl3WindowConfiguration();
config.setTitle(title);
config.setWindowListener(new Lwjgl3WindowListener() {
@Override
public void iconified() {}
@Override
public void focusLost() {}
@Override
public void focusGained() {}
@Override
public void filesDropped(String[] files) {}
@Override
public void deiconified() {}
@Override
public boolean closeRequested() {
return true;
}
});
Lwjgl3Application app = (Lwjgl3Application) Gdx.app;
window = app.newWindow(a, config);
DesktopLauncher.openWindows.add(window); // Used to close all windows later
}
我是以错误的方式看待这个吗? 谢谢!