Paneles con título y acordeones
Un panel con título, como su propio nombre indica, no es más que panel que lleva un título arriba. Éste se puede expandir o contraer y suele contener otro tipo de control en su interior. En la práctica se suele utilizar embebido en un acordeón que no es más que una agrupación de paneles con título de los cuales se muestran sólo uno a la vez.
Un panel con título pertenece a la clase javafx.scene.control.TitledPane
. Un acordeón pertenece a la clase javafx.scene.control.Accordion
.
Para añadir paneles con título a un acordeón debemos acceder a sus paneles por medio del método getPanes
del acordeón e ir añadiéndolos mediante el método add
o addAll
.
La siguiente imagen muestra un acordeón con dos paneles con título.
El código utilizado para crear esta interfaz es el siguiente:
package javafx.controles;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.recursos.LocalizadorRecursos;
import javafx.scene.Scene;
import javafx.scene.control.Accordion;
import javafx.scene.control.TitledPane;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
public class Acordeon extends Application {
@Override
public void start(Stage escenarioPrincipal) {
try {
Accordion raiz = new Accordion();
raiz.setPadding(new Insets(20, 20, 20, 20));
Image logo1 = new Image(LocalizadorRecursos.class.getResourceAsStream("imagenes/logo-ies.png"), 200, 200, true, true);
Image logo2 = new Image(LocalizadorRecursos.class.getResourceAsStream("imagenes/logo-ies2.png"), 200, 200, true, true);
TitledPane tlpClaro = new TitledPane("Logo claro", new ImageView(logo1));
TitledPane tlpOscuro = new TitledPane("Logo oscuro", new ImageView(logo2));
raiz.getPanes().addAll(tlpClaro, tlpOscuro);
raiz.setExpandedPane(tlpOscuro);
Scene escena = new Scene(raiz, 250, 300);
escenarioPrincipal.setTitle("Acordeón");
escenarioPrincipal.setScene(escena);
escenarioPrincipal.show();
} catch(Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
launch(args);
}
}