OpenSuse 12.3 + Java 双显示器

Posted

技术标签:

【中文标题】OpenSuse 12.3 + Java 双显示器【英文标题】:OpenSuse 12.3 + Java Dual Display 【发布时间】:2013-05-14 19:25:52 【问题描述】:

我有一个 Java 应用程序,它在两个单独的监视器上显示两个 JFrame。在 Ubuntu 和 Windows 上,应用程序显示得很好。我可以将 JFrame 配置为在具有指定屏幕 ID 的监视器上显示。但是在 openSUSE 上,无论设置如何,它都会一直显示在同一监视器上。与 openSUSE 有什么不同?

这是我用来确定 JFrame 必须显示在哪个监视器上的一些代码:


    GraphicsDevice[] screens = GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices();
    for (int s = 0; s &lt screens.length; s++) 
        GraphicsConfiguration configuration = null;
        for (int c = 0; c &lt screens[s].getConfigurations().length; c++) 
            if (AWTUtilities.isTranslucencyCapable(screens[s].getConfigurations()[c])) 
                configuration = screens[s].getConfigurations()[c];
                break;
            
        
        if (configuration == null) 
            configuration = screens[s].getDefaultConfiguration();
        
        if (screens[s].getIDstring().equals[frame1_id]) 
            frame1 = new JFrame("Frame 1", configuration);
            frame1.setResizable(false);
            frame1.setUndecorated(true);
            frame1.setBounds(configuration.getBounds());
            frame1.setVisible(true);
        
        if (screens[s].getIDstring().equals[frame2_id]) 
            frame2 = new JFrame("Frame 2", configuration);
            frame2.setResizable(false);
            frame2.setUndecorated(true);
            frame2.setBounds(configuration.getBounds());
            frame2.setVisible(true);
        
    

【问题讨论】:

你试过不同的窗口管理器吗? 这对我有用,非常感谢。请添加您的评论作为答案,以便我投票。 很高兴它有帮助。如果您有关于什么最有效的详细信息,我会将它们合并到答案中。你也可以answer your own question。 【参考方案1】:

GraphicsEnvironment 的 OpenSuse 实现可能取决于特定窗口管理器的选择。您必须进行试验才能找到最佳的。

附录:@bouncer cmets,“我使用了 Gnome 窗口管理器,导致问题。切换到 KDE 后,问题解决了。”另见10 things to do after installing openSUSE 12.3

【讨论】:

我使用了 Gnome 窗口管理器,导致了这个问题。切换到 KDE 后问题就解决了。

以上是关于OpenSuse 12.3 + Java 双显示器的主要内容,如果未能解决你的问题,请参考以下文章

UEFI+GPT电脑Win10下安装openSUSE Leap 42.2双系统

Mono Winforms WebBrowser 错误 - 未找到 libgluezilla

如何将 UI 控件的双数据值格式化为数字,例如 1234 到 1.23K? [复制]

Opensuse 11 Firefox 上不显示 PHP 错误

12.3-全栈Java笔记:Java网络编程

使用 poll() 方法(在 opensuse 中)运行 python 模块时,终端显示返回值为 None?