35 JavaFX Accordion
The JavaFX Accordion control is a container control which can contain several sections internally, each of which can have their content expanded or collapsed. The Accordion control is implemented by the JavaFX class javafx.scene.control.Accordion
. The section displayed inside it are made up of JavaFX TitledPane controls. Here is a screenshot of a JavaFX Accordion
control:
Notice that none of the sections are expanded. You can expand a section by clicking on the little triangle next to the title for each section. Expanding a section will reveal its content. Here is a screenshot of a JavaFX Accordion
with a section expanded:
JavaFX Accordion Example
Here is a full JavaFX Accordion
example so you can quickly get an overview of what its usage looks like:
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Accordion; import javafx.scene.control.Label; import javafx.scene.control.TitledPane; import javafx.scene.layout.VBox; import javafx.stage.Stage; public class AccordionExample extends Application { public static void main(String[] args) { launch(args); } public void start(Stage primaryStage) { Accordion accordion = new Accordion(); TitledPane pane1 = new TitledPane("Boats" , new Label("Show all boats available")); TitledPane pane2 = new TitledPane("Cars" , new Label("Show all cars available")); TitledPane pane3 = new TitledPane("Planes", new Label("Show all planes available")); accordion.getPanes().add(pane1); accordion.getPanes().add(pane2); accordion.getPanes().add(pane3); VBox vBox = new VBox(accordion); Scene scene = new Scene(vBox); primaryStage.setScene(scene); primaryStage.show(); } }
Create an Accordion
Before you can use the JavaFX Accordion
control you must first instantiate it. You instantiate it simply using the Java new
command, like this:
Accordion accordion = new Accordion();
Add TitledPane Objects to Accordion
Each section displayed inside a JavaFX Accordion
is represented by a JavaFX TitledPane. To add sections to the Accordion
control, you create on TitledPane
per section, and add it to the Accordion
. Here is an example of adding TitledPane
sections to a JavaFX Accordion
:
Accordion accordion = new Accordion(); TitledPane pane1 = new TitledPane("Boats" , new Label("Show all boats available")); TitledPane pane2 = new TitledPane("Cars" , new Label("Show all cars available")); TitledPane pane3 = new TitledPane("Planes", new Label("Show all planes available")); accordion.getPanes().add(pane1); accordion.getPanes().add(pane2); accordion.getPanes().add(pane3);
Add Accordion to Scene Graph
To make a JavaFX Accordion
visible, you must add it to the scene graph. Here is an example of adding a JavaFX Accordion
to the JavaFX scene graph:
Accordion accordion = new Accordion(); VBox vBox = new VBox(accordion); Scene scene = new Scene(vBox); primaryStage.setScene(scene); primaryStage.show();