首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaFX应用程序在Debian上抛出空指针异常

JavaFX应用程序在Debian上抛出空指针异常
EN

Stack Overflow用户
提问于 2019-05-13 10:38:15
回答 1查看 176关注 0票数 0

我试图在Debian上启动桌面java应用程序。

详情如下:

  • Debian弹力9.9
  • openjdk-8-jdk-无头:jdk 64- 8u212-b01-1~deb9u1 9u1
  • openjfx - 8u141-b14-3~deb9u1

这个应用程序在其他PC上已经运行了很长一段时间。但是在这台机器上,启动我的应用程序后,我会看到空窗口(没有控件)和下面的异常:

代码语言:javascript
复制
java.lang.NullPointerException
    at com.sun.javafx.sg.prism.RegionImageCache.<init>(RegionImageCache.java:71)
    at com.sun.javafx.sg.prism.NGRegion.getImageCache(NGRegion.java:467)
    at com.sun.javafx.sg.prism.NGRegion.renderBackgroundRectangle(NGRegion.java:811)
    at com.sun.javafx.sg.prism.NGRegion.renderAsRectangle(NGRegion.java:751)
    at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:572)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
    at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
    at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
    at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:576)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
    at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
    at com.sun.javafx.sg.prism.NGGroup.renderContent(NGGroup.java:235)
    at com.sun.javafx.sg.prism.NGRegion.renderContent(NGRegion.java:576)
    at com.sun.javafx.sg.prism.NGNode.doRender(NGNode.java:2053)
    at com.sun.javafx.sg.prism.NGNode.render(NGNode.java:1945)
    at com.sun.javafx.tk.quantum.ViewPainter.doPaint(ViewPainter.java:477)
    at com.sun.javafx.tk.quantum.ViewPainter.paintImpl(ViewPainter.java:330)
    at com.sun.javafx.tk.quantum.UploadingPainter.run(UploadingPainter.java:134)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at com.sun.javafx.tk.RenderJob.run(RenderJob.java:58)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:125)
    at java.lang.Thread.run(Thread.java:748)

有办法解决这个问题吗?

PS。部分应用程序代码

代码语言:javascript
复制
Application.launch(FXMainWindow.class);

public class FXMainWindow extends Application  {

    private ArrayList<ToggleButton> components;

    @Override
    public void start(Stage stage) throws Exception {

        stage.setTitle("App");
        BorderPane root = new BorderPane();

        //bottom
        HBox bottom = new HBox();
        root.setBottom(bottom);

        Button btnRefreshAll = new Button("some");
        HBox.setHgrow(btnRefreshAll, Priority.ALWAYS);
        btnRefreshAll.setMaxWidth(Double.MAX_VALUE);
        btnRefreshAll.setOnAction(event-> {
                new EntityStateRefresher(actions, 10, this).start();
        });
        bottom.getChildren().add(btnRefreshAll);

         .....

        Scene scene = new Scene(root, 210, 363);
        stage.setScene(scene);
        stage.show();

    }
EN

回答 1

Stack Overflow用户

发布于 2019-05-13 15:12:26

安装带有OpenGL支持的视频驱动程序(i915)和黑名单nouveau之后,问题就解决了。

谢谢大家的评论

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56110626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档