gpt4 book ai didi

Java Swing - 检测 JFrame 显示在哪个显示器上

转载 作者:行者123 更新时间:2023-11-30 06:59:15 25 4
gpt4 key购买 nike

我从 this question 了解到您可以使用以下代码在 swing 应用程序中将当前显示作为 GraphicsDevice[] 获取:

GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice[] gd = ge.getScreenDevices();

我知道从这里我可以自己设置设备,让用户在菜单中选择要使用的设备等。我的目标是检测应用程序当前显示在哪些 GraphicsDevices 中,因此我可以默认为全屏在当前的 GraphicsDevice 中而不打扰用户。

我正在使用如下代码全屏显示我的应用程序:

JFrame frame = new JFrame();

// ... when I want to fullscreen:
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice gd = ge.getDefaultScreenDevice();
if (gd.isFullScreenSupported()){
frame.dispose();
frame.setUndecorated(true);
frame.setAlwaysOnTop(true);
gd.setFullScreenWindow(frame);
frame.setVisible(true);
}

我在 GraphicsDevice 或 GraphicsEnvironment API 中找不到任何内容来获取显示 JFrame 的当前 GraphicsDevice。我知道直接定位窗口可能会有黑客攻击(如上面的链接所述),但我想知道是否有更简单/更优雅的解决方案。

最佳答案

GraphicsDevice device = jframe.getGraphicsConfiguration().getDevice()

关于Java Swing - 检测 JFrame 显示在哪个显示器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31717724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com