JavaFX场景:将场景添加到选项卡

时间:2015-04-05 09:45:55

标签: java javafx scene

Tab tab1 = new Tab();  
Tab tab2 = new Tab();

如何将场景添加到标签? 我想这样做,当选择tab1时,场景显示,当切换到tab2时,它不存在。

我尝试tab1.setContent,它必须是一个节点 我试过做dialog.setOwner(tab1),它必须是一个窗口。

    TabPane tabPane = new TabPane();
    Tab tab1 = new Tab("FIRST TAB");
    Tab tab2 = new Tab("SECOND TAB");
    tab1.setContent(new VBox(new Text("Scene Below:")));
    tab2.setContent(new VBox(new Button("dsadsadassda")));
    tabPane.getTabs().addAll(tab1, tab2);

    final Stage dialog = new Stage();
    dialog.initModality(Modality.NONE);
    dialog.initOwner(tab1); // I can't, it has to be a window
    dialog.initStyle(StageStyle.UTILITY);
    dialog.show();

    stage.setScene(new Scene(tabPane, 1000, 680));
    stage.setMaximized(true);
    stage.show();

1 个答案:

答案 0 :(得分:2)

设计取决于你想要做什么,在你的情况下,你应该指定一个扩展JavaFx选项卡的CustomTab,默认情况下,它会包含一个ScrollablePane或你想要的任何窗格,这将被限制为具有相同的宽度和高度作为Tab,所以当你执行setContent()时,你应该能够传递每个JavaFx的对象,因为你将该对象添加到内部选项卡窗格。