it-swarm.com.ru

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

SelectionModel - правильный подход. Вы можете получить значение по умолчанию из своей TabPane или назначить свою собственную реализацию с помощью setSelectionModel(...). Модель по умолчанию должна быть достаточно хорошей для начала.

SingleSelectionModel<Tab> selectionModel = tabPane.getSelectionModel();

После того, как вы сохранили его в некоторой локальной переменной, у вас есть разные варианты выбора вкладки.

selectionModel.select(tab); //select by object
selectionModel.select(1); //select by index starting with 0
selectionModel.clearSelection(); //clear your selection

Если вы попытаетесь выбрать несуществующую вкладку, ничего не произойдет.

81
pmoule

Чтобы упростить вышеупомянутый подход:

myTabPane.getSelectionModel().select(myTab);
19
Zon

Чтобы продолжить с ответом Меная, вот как переориентировать открытую вкладку/TabPane.

SingleSelectionModel<Tab> selectionModel = TabPane.getSelectionModel();
if(!Tabpane.getTabs().contains(tabName)) {
   TabPane.getTabs().add(tabName);
   selectionModel.select(tabPane);
} else {
   selectionModel.select(tabPane); 
}
1
Kervin Rey Balibagoso