我正在编写一个旨在在双显示器设置上运行的应用程序,其中一个显示器上的“显示”JFrame 全屏显示,另一台显示器上的“控制”JFrame 向显示器发送指令。我尝试了两种设置全屏显示的不同方法;每个人的成功似乎都取决于操作系统。
display.setUndecorated(true);
display.setExtendedState(JFrame.MAXIMIZED_BOTH);
在 Windows 中工作,但 JFrame 隐藏在 OS X 和 Linux 的扩展坞/面板下。
我的另一种方法,利用
GraphicsDevice.setFullScreenWindow(display);
适用于我尝试过的所有三种操作系统,但在 Windows 中,将控制窗口聚焦在另一台显示器上会使显示窗口隐藏,并调用
display.setAlwaysOnTop(true);
不能解决问题。我有点偏爱这种GraphicsDevice
方法,因为我不必处理 OS X 或 Linux 中的问题,我希望 Windows 问题是一个简单的解决方法。是吗?