Video: JavaFX 09 How to make use of Accordion and TitledPane 2025
En accordeon i JavaFX er en stak med navngivne ruder. Kun en af de betegnede ruder i accordeonet kan åbnes på et givet tidspunkt. Så hvis en af de betegnede ruder i accordeonet er åben, og du åbner en anden, lukkes den ene, der var åben, automatisk.
Denne figur viser en accordeonrude, der indeholder tre titelruder; Den samme accordeonrude er vist tre gange i figuren, hver gang med en anden af de navngivne ruder åbnede.
For at skabe en accordeon kontrol, skal du først oprette de separate navngivne ruder, der vil danne harmonika. Derefter opretter du accordeonet ved hjælp af standardkonstruktoren og tilføjer de navngivne ruder ved hjælp af getPanes (). addAll metode. Følgende kodeprøve viser, hvordan du opretter accordeonet vist i figuren:
// Opret størrelseskrydsruden RadioButton rbSmall = ny RadioButton ("Small"); RadioButton rbMedium = ny RadioButton ("Medium"); RadioButton rbLarge = Ny RadioButton ("Large"); ToggleGroup sizeGroup = ny ToggleGroup (); sizeGroup. getToggles (). addAll (rbSmall, rbMedium, rbLarge); rbMedium. setSelected (sand); VBox sizeBox = ny VBox (10); sizeBox. setPadding (nye Insets (10)); sizeBox. getChildren (). addAll (rbSmall, rbMedium, rbLarge); TitledPane sizeTpane = nyt TitledPane ("Size", sizeBox); // Opret stilskiftruden RadioButton rbThin = ny RadioButton ("Thin crust"); RadioButton rbThick = ny RadioButton ("Tykk skorpe"); ToggleGroup styleGroup = ny ToggleGroup (); styleGroup. getToggles (). addAll (rbThin, rbThick); rbThin. setSelected (sand); VBox styleBox = ny VBox (10); styleBox. setPadding (nye Insets (10)); styleBox. getChildren (). addAll (rbThin, rbThick); TitledPane styleTpane = nyt TitledPane ("Style", styleBox); // Opret overkrydsningsfeltet CheckBox cbPepperoni = ny CheckBox ("Pepperoni"); CheckBox cbSausage = ny checkbox ("pølse"); CheckBox cbOlives = ny checkbox ("oliven"); CheckBox cbMushrooms = ny CheckBox ("Svampe"); CheckBox cbAnchovies = ny checkbox ("ansjoser"); VBox toppingsBox = ny VBox (10); toppingsBox. setPadding (nye Insets (10)); toppingsBox. getChildren (). addAll (cbPepperoni, cbSausage, cbOlives, cbMushrooms, cbAnchovies); TitledPane toppingsTpane = nye TitledPane ("Toppings", toppingsBox); // Opret akkordeon kontrol Accordion acc = ny Accordion (); acc. getPanes (). addAll (sizeTpane, styleTpane, toppingsTane);