我试图在Debian上启动桌面java应用程序。
详情如下:
这个应用程序在其他PC上已经运行了很长一段时间。但是在这台机器上,启动我的应用程序后,我会看到空窗口(没有控件)和下面的异常:
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。部分应用程序代码
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();
}发布于 2019-05-13 15:12:26
安装带有OpenGL支持的视频驱动程序(i915)和黑名单nouveau之后,问题就解决了。
谢谢大家的评论
https://stackoverflow.com/questions/56110626
复制相似问题