JavaFX Tabpane同时选择2个Tabs
JavaFX Tabpane selects 2 Tabs at the same time
我刚开始使用 JavaFX。
在我的小项目中,我有两种观点。第一个充满了一个标签面板,而第二个包含一个按钮,用于将新标签添加到标签面板。这意味着我需要在第一个和第二个视图之间切换以添加新选项卡。
标签面板有一个无法关闭的标准标签。
我的问题:如果我在我的标签面板中添加了多个新标签,所有标签都会相互覆盖。
我已经尝试过这样防止它:
初始化一切:
private ArrayList<Tab> allTabs = new ArrayList<Tab>();
Tab tab = new Tab();
allTabs.add(tab);
TabPane tp = new TabPane();
tp.getTabs().add(tab);
为了设置 selection,我尝试了一些方法:
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());;
我想要 select 最新的标签页。这已经在工作了,但是旧的没有被删除selected。如果我 select 使用鼠标单击选项卡,问题就会消失。
非常感谢您的任何想法。
您是否可能使用了不同的 FXMLLoader?
我在使用普通 FXMLLoader 和自定义 FXMLLoader 时遇到了类似的问题。在这两种情况下都尝试使用相同的方法。这就是它对我有用的方式。
如果它不能解决您的问题,一些图片和更多的代码片段将有助于解决您的问题。
问候
我遇到了类似的问题,我只是删除了行
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() 超出范围,所以它会
我刚开始使用 JavaFX。 在我的小项目中,我有两种观点。第一个充满了一个标签面板,而第二个包含一个按钮,用于将新标签添加到标签面板。这意味着我需要在第一个和第二个视图之间切换以添加新选项卡。 标签面板有一个无法关闭的标准标签。
我的问题:如果我在我的标签面板中添加了多个新标签,所有标签都会相互覆盖。
我已经尝试过这样防止它: 初始化一切:
private ArrayList<Tab> allTabs = new ArrayList<Tab>();
Tab tab = new Tab();
allTabs.add(tab);
TabPane tp = new TabPane();
tp.getTabs().add(tab);
为了设置 selection,我尝试了一些方法:
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());;
我想要 select 最新的标签页。这已经在工作了,但是旧的没有被删除selected。如果我 select 使用鼠标单击选项卡,问题就会消失。
非常感谢您的任何想法。
您是否可能使用了不同的 FXMLLoader? 我在使用普通 FXMLLoader 和自定义 FXMLLoader 时遇到了类似的问题。在这两种情况下都尝试使用相同的方法。这就是它对我有用的方式。
如果它不能解决您的问题,一些图片和更多的代码片段将有助于解决您的问题。
问候
我遇到了类似的问题,我只是删除了行
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() 超出范围,所以它会