2017-01-27 6 views
0

Я перехожу от использования flowpane к tabpane. Я понятия не имею, как это сделать. Я хочу использовать холст, и панель внутри панели табло это возможно? Ниже мой код все без стайлинга и т.д.Использование TabPane в JavaFX

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); 
} 

ответ

0

Tab не подкласс Pane, поэтому он не имеет getChildren() метода.

Вместо этого у него есть content property, значение которого является узлом, отображаемым на вкладке (обратите внимание, что на вкладке есть только один узел).

Таким образом, вы можете отобразить холст на вкладке с

tab1.setContent(canvas); 

и, конечно, если у вас есть две вещи для отображения, вы должны поместить их в какой-либо другой контейнер и установить содержимое вкладки в контейнер :

VBox vbox = new VBox(ui, canvas); 
tab1.setContent(vbox); 
Смежные вопросы