可以将画布作为场景图的根节点吗?

The*_*per 2 java javafx

我是JavaFX的新手,正在学习中。我试图将画布对象作为应用程序中场景图的根。但是,我无法做到。我需要创建一个组或一个窗格对象,并将画布添加到其中之一。我很好奇为什么我们不能将画布对象分配为根节点。可能我缺少一些要点。

我尝试编译的代码如下:

import javafx.application.Application;
import javafx.stage.Stage;
import javafx.scene.canvas.Canvas;
import javafx.scene.Parent;
import javafx.scene.Scene;

public class driver extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    Canvas canvas;

    @Override
    public void start( Stage stage ) {
        canvas = new Canvas(300, 300);
        Scene scene = new Scene(canvas, 300, 300);
        stage.setScene(scene);
        stage.show();
    }
}
Run Code Online (Sandbox Code Playgroud)

Avi*_*Avi 6

您不能将Canvas用作Scene的构造函数的参数,因为Scene会将Parent作为参数。画布具有超类Node,而不是Parent。为了验证,只是检查的Javadoc 两个人。