java tabs selecteditem javafx-2

JavaFX TabPane: cómo configurar la pestaña seleccionada



tabs selecteditem (4)

Tengo una aplicación de escritorio Java con JavaFX 2 y en mi FX tengo un TabPane. Quiero establecer la pestaña predeterminada. En otras palabras, quiero establecer una pestaña como seleccionada. Descubrí que hay varias formas de averiguar qué pestaña está seleccionada y encontré setSelectionModel() pero no puedo encontrar la manera de usarlo.

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


El SelectionModel es el enfoque correcto. Puede obtener el valor predeterminado de su TabPane o asignar su propia implementación usando setSelectionModel(...) . El modelo predeterminado debe ser lo suficientemente bueno para el comienzo.

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

Una vez que lo almacenó en alguna variable local, tiene diferentes opciones para seleccionar una pestaña.

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

Si intentas seleccionar una pestaña que no existe, no pasará nada.


Para continuar con la respuesta de Menai, aquí está cómo volver a enfocar la pestaña abierta / TabPane.

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


Para simplificar el enfoque mencionado anteriormente:

myTabPane.getSelectionModel().select(myTab);


Si trabajas con pestañas statique , quiero decir que tu TabPane tiene un número determinado de pestañas, puedes seleccionar tu pestaña de esta manera:

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

Si trabajas con pestañas dinámicas, quiero decir que tu TabPane tiene un número dinámico de pestañas (agrega y elimina pestañas), puedes seleccionar tu pestaña de esta manera:

if (!TabPane.getTabs().contains(tabName)) { TabPane.getTabs().add(tabName); } SingleSelectionModel<Tab> selectionModel = TabPane.getSelectionModel(); selectionModel.select(tabPane);