Есть что-то, что вы не показываете в своем коде, и потому что вы не предоставили достаточно информации, никто не сможет помочь вам изменить ваш код, так что вот рабочий пример того, как изменить вкладки, используя индекс и передаваяфактическая вкладка
public class Main extends Application {
@Override
public void start(Stage stage) {
VBox vBox = new VBox();
vBox.setAlignment(Pos.CENTER);
Tab tabOne = new Tab("Tab One", new Label("This is Tab One"));
Tab tabTwo = new Tab("Tab Two", new Label("This is Tab Two"));
TabPane tabPane = new TabPane();
tabPane.getTabs().addAll(tabOne, tabTwo);
vBox.getChildren().add(tabPane);
Button button = new Button("Change Tab by passing index");
button.setOnAction(event -> {
if(tabPane.getSelectionModel().getSelectedItem().getText().equals("Tab One"))
tabPane.getSelectionModel().select(1);
else
tabPane.getSelectionModel().select(0);
});
vBox.getChildren().add(button);
Button buttonTwo = new Button("Change Tab by passing tab");
buttonTwo.setOnAction(event -> {
if(tabPane.getSelectionModel().getSelectedItem().getText().equals("Tab One"))
tabPane.getSelectionModel().select(tabTwo);
else
tabPane.getSelectionModel().select(tabOne);
});
vBox.getChildren().add(buttonTwo);
stage.setScene(new Scene(vBox));
stage.show();
}
}