作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想构建一个有 2 个窗口的应用程序。第一个应该始终位于第一个监视器中,并且不能最大化。第二个应该在第二个显示器中启动(一个完美的例子就像 PowerPoint 的演示模式),在任何其他应用程序窗口的“顶部”运行,并且始终最大化。该窗口是使用第一个窗口的监听器启动的。请注意,这些“显示器”可能是演示中使用的 LCD 投影仪,也可能是真正的台式计算机显示器。
我知道存在 GraphicsEnvironment API,我们可以知道我们的显示器配置是被视为单个显示器,还是单独处理。但是,我不知道如何实现。我的意思是,由于屏幕配置可以根据显卡的不同进行不同的处理,我们如何验证它们?
例如,如果有 3 个显示器被视为具有高分辨率的单个显示器,那么也许我们可以将第二个窗口的坐标 x0 设置为:total_width * 2/3。但是,如果它被视为单独的监视器怎么办?
谢谢。
最佳答案
@Zecas:是的,效果很好。很抱歉没有在这里发布答案。我完全忘记了。所以,解决方案正如ShivanDragon所说,我们可以通过先获取GraphicsEnvironment来单独获取每个显示器,然后从Environment中获取我们的屏幕设备:
GraphicsEnvironment ge = GraphicsEnvironment .getLocalGraphicsEnvironment();
GraphicsDevice[] gs = ge.getScreenDevices();
之后,只需使用:
gs[_screen_index].setFullSCreenWindow(_frame)
关于java - 如何在多监视器配置中部署 JFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7688409/
我是一名优秀的程序员,十分优秀!