【发布时间】:2020-04-04 01:19:10
【问题描述】:
我听说可以使用 NewtCanvasJFX 将 Jogl 集成到 JavaFX 中,但我无法让它工作。 我尝试过类似的方法。
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("JavaFX Jogl");
primaryStage.setScene(new Scene(root, 300, 275));
primaryStage.show();
//init Canvas
final GLProfile glProfile = GLProfile.getDefault();
final GLCapabilities capabilities = new GLCapabilities(glProfile);
GLWindow glWindow = GLWindow.create(capabilities);
NewtCanvasJFX glPanel = new NewtCanvasJFX(glWindow);
glPanel.setWidth(300);
glPanel.setHeight(300);
StackPane openGLPane = new StackPane();
openGLPane.getChildren().add(glPanel);
glWindow.addGLEventListener(this);
}
我只需要让 jogl 和 Javafx 一起为一个大学项目工作,所以如果有人有其他解决方案,我将不胜感激。
【问题讨论】:
-
如果你运行程序会发生什么?你预计会发生什么?
-
它应该打开一个空窗口,里面有一个画布对象。当我尝试运行它时收到错误“缺少 JavaFX 应用程序类”。
-
你有main方法吗?
-
当然: public static void main(String[] args) { launch(args); }
-
这只是初始化 javafx 并运行 start 函数,上面的所有代码都是 insde。