在JavaFX中使用TabPane

时间:2017-01-27 19:26:42

标签: java javafx tabs pane graphicscontext

我从使用flowpane切换到tabpane。我不知道怎么做。 我想在tabpane中使用画布和窗格这可能吗? 下面是我的代码,没有所有的样式等。

 public View(TabPane root) {
    this.root = root;

    tab1 = new Tab();
    root.getTabs().add(tab1);

    tab2 = new Tab();
    root.getTabs().add(tab2);

    ui = new Pane();

    canvas = new Canvas(600,600);
    //gc is graphics context
    gc = canvas.getGraphicsContext2D();

    //this is where the problem is??
    //i have no idea how to add ui and canvas to my tab1
    tab1.getChildren().addAll(ui, canvas);
}

1 个答案:

答案 0 :(得分:0)

Tab不是Pane的子类,因此它没有getChildren()方法。

相反,它有一个content property,其值是选项卡中显示的节点(注意选项卡中只有一个节点)。

因此,您可以使用

在选项卡中显示画布
tab1.setContent(canvas);

当然,如果要显示两件事,可以将它们放在其他容器中,并将选项卡的内容设置为容器:

VBox vbox = new VBox(ui, canvas);
tab1.setContent(vbox);