JavaFX. Panel de pestañas

Para ordenar los elementos de nuestra aplicación JavaFX podemos utilizar un panel de pestañas (TabPane).

Lo ideal es crear un archivo de interfaz gráfica para cada pestaña.

Para empezar vamos a asignar una id al evento On Selection Changed a todas las pestañas:

Creamos un archivo de interfaz gráfica o FXML con su Controller Class por cada pestaña. También se puede utilizar el archivo FXML principal para utilizar una de las pestañas.

Se marca el checkbox para crear una Controller Class asociada.

En mi caso tendremos un par de archivos de interfaz con sus Controller:

En el DocumentController principal añadiremos el siguiente código al método del evento «cambiarTab».

Este método carga el contenido en la pestaña activa de su correspondiente archivo FXML.

    /**
     * Carga el contenido dependiendo de la pestaña activa
     *
     * @param event
     */

    @FXML
    private void cambiarTab(Event event) {
        String pestanya = ((Tab)event.getSource()).getText();  
        try {
            switch (pestanya) {
                case "Películas":
                    pestanya = "FXMLPeliculas.fxml";
                    break;
                case "Actores":
                    pestanya = "FXMLActores.fxml";
                    break;
            }
            ((Tab)event.getSource()).setContent(FXMLLoader.load(getClass().getResource(pestanya)));
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }

Ahora podemos editar la interfaz gráfica de actores desde FXMLActores.fxml y Películas desde FXMLPeliculas.fxml:

Resultado:

Deja una respuesta