我想构建一个有2个窗口的应用程序。 第一个应始终位于第一个监视器中,并且不能最大化。 第二个应该在第二个监视器中启动(一个完美的例子就像PowerPoint的演示模式),运行在任何其他应用程序窗口的“顶部”,并始终最大化。使用提供给第一个窗口的侦听器启动此窗口。 请注意,这些“监视器”可能是演示中使用的LCD投影仪,或真正的台式计算机监视器。
我知道存在GraphicsEnvironment API,我们可以知道我们的监视器配置是作为单个监视器处理还是单独处理。但是,我不知道如何实现它。我的意思是,由于屏幕配置可以根据其显卡进行不同的处理,我们如何验证它们?
例如,如果将3个监视器视为具有大分辨率的单个监视器,那么我们可以将第二个窗口的坐标x0设置为:total_width * 2/3。 但是,如果它被视为单独的监视器怎么办?
感谢。
答案 0 :(得分:2)
GraphicsEnvironment ge = GraphicsEnvironment .getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
之后,只需使用:
gs[_screen_index].setFullSCreenWindow(_frame)