Eclipse中的问题:无法获取DefaultScreenDevice - >无法启动任何GUI

时间:2017-01-29 21:59:43

标签: java eclipse swing awt nvidia

最近在Windows 10平台中从Eclipse 中启动Java代码时出现了一个问题;我google寻求帮助但没有成功。

截至目前,我无法启动任何依赖Swing或AWT的Java应用程序。例如,如果我从main方法启动此类应用程序,则它不存在错误消息。

我稍微调试了一下这个问题,当初始化Window.class(jsk 1.8.121中的第471-482行)时,我发现错误的行在AWT的GraphicsEnvironment中:< / p>

private GraphicsConfiguration initGC(GraphicsConfiguration gc) {
    GraphicsEnvironment.checkHeadless();

    if (gc == null) {
        gc = GraphicsEnvironment.getLocalGraphicsEnvironment().
            getDefaultScreenDevice().getDefaultConfiguration();
    }
    setGraphicsConfiguration(gc);

    return gc;
}

用于调试此问题的main方法:

    public static void main( final String[] args )
{
    System.out.println( "Launching stuff" );
    final GraphicsEnvironment localGraphicsEnvironment = GraphicsEnvironment.getLocalGraphicsEnvironment();
    System.out.println( localGraphicsEnvironment ); // DEBUG
    final GraphicsDevice defaultScreenDevice = localGraphicsEnvironment.getDefaultScreenDevice();
    System.out.println( defaultScreenDevice ); // DEBUG
    final GraphicsConfiguration defaultConfiguration = defaultScreenDevice.getDefaultConfiguration();
    System.out.println( defaultConfiguration ); // DEBUG

    System.out.println( "Launched" );
}

打印: Launching ImageJ sun.awt.Win32GraphicsEnvironment@27bc2616 就是这样。

我尝试将jdk更新为最新版本(在win-x64平台上),但没有成功。将Eclipse更新到最新版本也不起作用(我尝试过Mars 2和Neon)。 我怀疑图形驱动程序存在一些问题(因为我无法获得默认的屏幕服务),但我也是最新的(NVIdia Geforce Experience更新程序),并且设备管理器报告没有问题。

问题是最近的,它出现在6天前最大值。在这个时候,我有图形驱动程序更新,包括Vulkan也许。 我很失落,因为这意味着我不能继续在这个系统上发展。

作为潜在客户,我可以遵循以解决此问题?

最佳

JY

1 个答案:

答案 0 :(得分:1)

我发现可能对此负责。

我注意到我在那周早些时候更新了我的NVidia驱动程序(我有一个Geforce GTX970)并且我已经在这个过程中安装了他们的3D视觉驱动程序。

卸载后来修复了问题。