57

JavaFX 2 を含む Java デスクトップ アプリケーションがあり、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);
4

5 に答える 5

112

これ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

存在しないタブを選択しようとしても、何も起こりません。

于 2011-08-02T17:49:43.743 に答える
-1

静的タブを使用する場合、 TabPaneには静的な数のタブがあることを意味し、次の方法でタブを選択できます。

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

        selectionModel.select(tabName);

動的タブを使用する場合、 TabPaneには動的な数のタブ (タブの追加と削除) があることを意味し、次の方法でタブを選択できます。

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

        TabPane.getTabs().add(tabName);

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

    selectionModel.select(tabPane);
于 2017-08-14T00:54:28.630 に答える