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>

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007