2011-08-01 94 views
34

我有一個Java桌面應用程序與JavaFX 2在它和我的FX我有一個TabPane。我想設置默認選項卡。換句話說,我想設置一個選項卡。我發現有多種方法可以找出哪個選項卡被選中,我發現setSelectionModel(),但我無法弄清楚如何使用它。JavaFX TabPane:如何設置選定的選項卡

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

回答

73

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 

如果您嘗試選擇不存在的選項卡,則不會發生任何情況。

+0

工作。謝謝! – Dorothy

16

爲了簡化上述方法:

myTabPane.getSelectionModel().select(myTab); 
-1

如果您有statique工作標籤,我的意思是你的TabPane有標籤的statique號碼,您可以通過這種方式選擇標籤:

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

     selectionModel.select(tabName); 

如果你使用dynamique標籤,我的意思是你的TabPane有標籤的動態數量(添加和刪除標籤),你可以通過這種方式選擇你的標籤:

 if (!TabPane.getTabs().contains(tabName)) { 

     TabPane.getTabs().add(tabName); 

    } 
    SingleSelectionModel<Tab> selectionModel = TabPane.getSelectionModel(); 

    selectionModel.select(tabPane); 
相關問題