JavaFX TabPane:如何设置选定的选项卡
我有一个Java桌面应用程序与JavaFX 2中,在我的FX我有一个TabPane。 我想设置默认选项卡。 换句话说,我想设置一个选项卡。 我发现有多种方法来找出哪个选项卡被选中,我发现setSelectionModel()
但我不知道如何使用它。
TabPane tabPane = new TabPane(); Tab tab0 = new Tab("blue"); tab.setContent(new Rectangle(200,200, Color.BLUE)); Tab tab1 = new Tab("green"); tab.setContent(new Rectangle(200,200, Color.GREEN)); tabPane.getTabs().addAll(tab0, tab1);
SelectionModel
是正确的方法。 您可以从TabPane
获取默认值,或者使用setSelectionModel(...)
分配您自己的实现。 默认模型应该足够好,开始。
SingleSelectionModel<Tab> selectionModel = tabPane.getSelectionModel();
一旦你把它存储在某个局部variables中,你有不同的选项来select一个选项卡。
selectionModel.select(tab); //select by object selectionModel.select(1); //select by index starting with 0 selectionModel.clearSelection(); //clear your selection
如果您尝试select不存在的选项卡,则不会发生任何事情。
为了简化上述方法:
myTabPane.getSelectionModel().select(myTab);
试试这个代码
if (!MessagePane.getTabs().contains(NewMessageTab)) { MessagePane.getTabs().add(NewMessageTab); } SingleSelectionModel<Tab> selectionModel = MessagePane.getSelectionModel(); selectionModel.select(NewMessageTab);