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);