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