Unterschiede
Hier werden die Unterschiede zwischen der gewählten und der aktuellen Version gezeigt.
| javafx:accordion-all-open 2015/04/14 14:53 | javafx:accordion-all-open 2020/01/22 20:59 aktuell | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| [[javafx:javafx|JavaFX]]\\ | [[javafx:javafx|JavaFX]]\\ | ||
| ====== Accordion, alle offen ====== | ====== Accordion, alle offen ====== | ||
| - | Das JavaFX Accordion kann immer nur ein Element zur Zeit öffnen. Mit wenig Aufwand lässt sich ein eignes Accordion entwickeln, bei welchem mehrere/alle Elemente offen sein können:\\ | + | Das JavaFX Accordion kann immer nur ein Element zur Zeit öffnen. Mit wenig Aufwand lässt sich ein eigenes Accordion entwickeln, bei welchem mehrere/alle Elemente offen sein können:\\ |
| {{:javafx:accordion-all-open.png|}} | {{:javafx:accordion-all-open.png|}} | ||
| \\ | \\ | ||
| Zeile 24: | Zeile 24: | ||
| </html> | </html> | ||
| \\ | \\ | ||
| - | Eine einfache Variante, die auf das wesentliche beschränkt ist:\\ | + | Eine einfache Variante, die auf das Wesentliche beschränkt ist:\\ |
| <code java> | <code java> | ||
| package com.sowas.javawiki.javafx; | package com.sowas.javawiki.javafx; | ||
| Zeile 57: | Zeile 57: | ||
| } | } | ||
| </code> | </code> | ||
| + | \\ | ||
| \\ | \\ | ||
| Eine Accordion-Klasse, die (ein bisschen) kompatibel zur JavaFX-Klasse Accordion ist:\\ | Eine Accordion-Klasse, die (ein bisschen) kompatibel zur JavaFX-Klasse Accordion ist:\\ | ||
| Zeile 76: | Zeile 77: | ||
| public NavigatorAccordion() { | public NavigatorAccordion() { | ||
| + | // Falls keine horizontale Scrollleiste gewünscht ist, muss die Breite der VBox | ||
| + | // and die ScrollPane angepasst werden: | ||
| + | widthProperty().addListener(new ChangeListener<Number>() { | ||
| + | @Override | ||
| + | public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) { | ||
| + | vBox.setMinWidth(newValue.doubleValue()); | ||
| + | vBox.setPrefWidth(newValue.doubleValue()); | ||
| + | vBox.setMaxWidth(newValue.doubleValue()); | ||
| + | } | ||
| + | }); | ||
| + | setHbarPolicy(ScrollBarPolicy.NEVER); | ||
| + | |||
| + | // Änderungen an der Liste werden hier behandelt: | ||
| panes.addListener((ListChangeListener<TitledPane>) c -> { | panes.addListener((ListChangeListener<TitledPane>) c -> { | ||
| while (c.next()) { | while (c.next()) { | ||
| Zeile 116: | Zeile 130: | ||
| Stichworte: | Stichworte: | ||
| <code> | <code> | ||
| - | JavaFX Accordion, alle offen, Beispiel | + | JavaFX Accordion, alle offen, mehere gleichzeitig offen, Beispiel |
| </code> | </code> | ||