Java LibGDX多个全屏窗口

Java LibGDX多个全屏窗口,java,libgdx,fullscreen,monitors,Java,Libgdx,Fullscreen,Monitors,我正在编写一个程序,在两个显示器上显示文本 现在我的方法是在两个监视器上启动一个LibGDX窗口,然后分别控制每个监视器。 但是,当两者都处于全屏时,只有一个窗口可以有焦点。失焦窗口被隐藏。我如何解决这个问题 规格: 视窗10 Java 1.8 libgdx1.9.3,使用lwjgl3后端 代码: 在ApplicationListener中: @Override public void show() throws RuntimeException { // Throws except

我正在编写一个程序,在两个显示器上显示文本

现在我的方法是在两个监视器上启动一个LibGDX窗口,然后分别控制每个监视器。 但是,当两者都处于全屏时,只有一个窗口可以有焦点。失焦窗口被隐藏。我如何解决这个问题

规格:

  • 视窗10

  • Java 1.8

  • libgdx1.9.3,使用lwjgl3后端

代码:

  • 在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]));
    }
    
我是不是看错了?
谢谢

我只能看到两个全屏窗口的问题。一次只能有一个窗口具有焦点,无论是否全屏。我建议使用两倍宽度的单一全屏窗口,并使用两个虚拟屏幕管理窗口。这将消除焦点问题,并使您免于一百万其他问题。@IronMonkey谢谢。我试试看。我只能看到两个全屏窗口的问题。一次只能有一个窗口具有焦点,无论是否全屏。我建议使用两倍宽度的单一全屏窗口,并使用两个虚拟屏幕管理窗口。这将消除焦点问题,并使您免于一百万其他问题。@IronMonkey谢谢。我试试看。
@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
}