JavaFX Tabpane同时选择2个选项卡

时间:2015-07-28 08:51:58

标签: javafx tabs selectionmodel

我刚开始使用JavaFX。 在我的小项目中,我得到了两个观点。第一个填充了tabpane,而第二个包含一个按钮,用于向tabpane添加新选项卡。这意味着我需要在第一个和第二个视图之间切换以添加新的标签。 tabpane有一个无法关闭的标签。

我的问题:如果我在tabpane中添加了多个新标签,则所有标签都会互相绘制。

我已经尝试过像这样阻止: 初始化一切:

        private ArrayList<Tab> allTabs = new ArrayList<Tab>();
        Tab tab = new Tab();

        allTabs.add(tab);
        TabPane tp = new TabPane();
        tp.getTabs().add(tab);

要设置选择,我尝试了一些事情:

        tp.getSelectionModel().clearSelection();
        tp.getSelectionModel().select(allTabs.size());
        _________________________________________________________________
        tp.getSelectionModel().clearSelection();
        tp.getSelectionModel().select(tp.getTabs().size);
        _________________________________________________________________
        tp.getSelectionModel().selectLast();
        _________________________________________________________________
        tp.getSelectionModel().selectNext();
        _________________________________________________________________
        tp.getSelectionModel().clearAndSelect(tp.getTabs().size());;

我想选择最新的标签。这已经有效,但旧的未被取消选择。如果我用鼠标点击选择标签,问题就会消失。

我感谢任何想法。

2 个答案:

答案 0 :(得分:0)

您使用不同的FXMLLoader是否可能? 当我使用普通的FXMLLoader和coustom FXMLLoader时,我遇到了类似的问题。在两种情况下都尝试使用相同的方法。这就是它对我有用的方式。

如果它无法解决您的问题,一些图片和一些代码片段将有助于解决您的问题。

问候

答案 1 :(得分:0)

我有类似的问题,我刚刚删除了这行

 tabpane.getSelectionModel().clearSelection();

不知道为什么会这样。 请保持:

 tb.getSelectionModel().select(index or tab);

tb.getSelectionModel().clearAndSelect(index or tab);

PS:tp.getSelectionModel().clearAndSelect(tp.getTabs().size()); 这个,什么都不做,tp.getTabs()。size()超出范围,所以它会