Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JavaFX TabPane: How to set the selected tab

I have a Java Desktop Application with JavaFX 2 in it and in my FX I've got a TabPane. I want to set the default tab. In other words I want to set a tab as selected. I found that there are multiple ways to find out which tab is selected and I found setSelectionModel() but I can't figure out how to use it.

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); 
like image 633
Dorothy Avatar asked Aug 01 '11 17:08

Dorothy


2 Answers

To simplify the above mentioned approach:

myTabPane.getSelectionModel().select(myTab); 
like image 23
Zon Avatar answered Oct 25 '22 21:10

Zon


The SelectionModelis the right approach. You can get the default from your TabPane or assign your own implementation by using setSelectionModel(...). The default model should be good enough for the beginning.

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

Once you stored it in some local variable, you have different options to select a tab.

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

If you try to select a non existing tab, nothing will happen.

like image 159
pmoule Avatar answered Oct 25 '22 21:10

pmoule