JavaFx选项卡窗格自动关闭

  • 本文关键字:选项 JavaFx javafx tabs
  • 更新时间 :
  • 英文 :


我有一个MenuItem"load",它在GUI中打开四个选项卡。但是,当我再次单击"加载"时。而不是关闭以前打开的选项卡。它只是在后面追加。如何自动关闭它们?

load.setOnAction(e -> {
        cb.loadBinary();
        pb.loadPersonBinary();
        tb.loadTextbookBinary();
        Tab tabS = new Tab();
        tabS.setText("Student");
        studentScene = new SceneStudent(this, pb);
        tabS.setContent(studentScene.getPane());
        root.setCenter(tabPane);
        Tab tabF = new Tab();
        tabF.setText("Faculty");
        facultyScene = new SceneFaculty(this, pb);
        tabF.setContent(facultyScene.getPane());
        root.setCenter(tabPane);
        Tab tab = new Tab();
        tab.setText("Text Book");
        textScene = new SceneTextBook(this, tb);
        tab.setContent(textScene.getPane());
        root.setCenter(tabPane);
        Tab tabC = new Tab();
        tabC.setText("Course");
        courseScene = new SceneCourse(this, cb);
        tabC.setContent(courseScene.getPane());
        tabPane.setTabClosingPolicy(TabClosingPolicy.ALL_TABS);
        MenuItem buttonClicked = (MenuItem) e.getTarget();
        if(buttonClicked == load){
            tabPane.getTabs().removeAll();
        }
        tabPane.getTabs().addAll(tabS, tabF, tab, tabC);
        root.setCenter(tabPane);
    });

不要检查单击的MenuItem是否是您的"加载"项目,先删除,然后添加,只需执行:tabPane.getTabs().setAll(tabS, tabF, tab, tabC);

请参阅此处的文档。

最新更新