第二台显示器上全屏独占模式下的Java框架

时间:2011-11-14 19:34:26

标签: java fullscreen multiple-monitors

我正在与这种问题作斗争。我的应用创建了两个框架。第一个是操作员,它应该在正常模式下的第一个监视器上。另一种是“客户”的显示,应该在第二台显示器的全屏显示。我决定使用Fullscreen Exclusive因为简单。问题是在监视器0上显示框架很容易,但是我无法强制选择第二个框架。该帧仍显示在监视器编号0而不是1中。

GraphicsDevice screen = GraphicsEnvironment.
        getLocalGraphicsEnvironment().getScreenDevices()[1];
        //it is in program config which display should be used.
        //Of course monitor is present and listed by getScreenDevices as array[1]
JFrame frame = new JFrame("Fullscreen Display");
if (screen.isFullScreenSupported()) {
frame.dispose();
frame.setUndecorated(true);
System.out.println("FEM available on: "+ screen.getIDstring());
frame.repaint();
screen.setFullScreenWindow(frame);
}

1 个答案:

答案 0 :(得分:1)

我刚刚运行了你的代码,我可以成功更改你的框架弹出的屏幕。如果你在这一行上将1改为0 --->

GraphicsDevice screen = GraphicsEnvironment.
getLocalGraphicsEnvironment().getScreenDevices()[1];

框架出现在另一台显示器上。