Slider-Wert an anderen Slider übergeben

bfg97

Mitglied
Hi,

Ich mache momentan meine ersten Schritte in JavaFX und versuche mich an einem Fenster, das drei Slider anzeigt, jeweils mit einem Wert zwischen 0 und 100. Die Werte der Slider möchte ich miteinander multiplizieren und ebenfalls in dem Fenster anzeigen lassen. Dabei soll sich der Wert in Echtzeit an die Werte der anderen Slider anpassen, sodass man noch während man einen Slider bewegt, sieht, wie sich das Produkt verändert.
Die drei Slider habe ich ohne große Probleme erstellen können, nur dieses eine Label fehlt noch. Ich nutze in Intellij VBox für die Visualisierung und den ChangeListener für die Überwachung der Sliderwerte.

Bei Bedarf kann ich auch meinen bisherigen Code einstellen.
 
Generell würde ich das über Databinding machen, ist an sich voll schick.

Hier das sieht schon nach das was du suchst oder?
So ganz verstehe ich den Code in dem Link nicht. Wie kann ich damit insgesamt die Werte dreier Slider miteinander multiplizieren und dann unter einem Label abspeichern, das ebenfalls im Fenster angezeigt werden soll? Spinner finde ich weniger schön, weshalb ich Slider präferieren würde 🙂
 
Sorry ich habe zu schnell gelesen. Bei Slider ist es noch einfacher sage ich mal.

Code:
Slider s1 = new Slider();
        Slider s2 = new Slider();
        Slider s3 = new Slider();
        
        Label label = new Label();
        
        DoubleBinding resultProperty = s1.valueProperty().multiply(s2.valueProperty()).multiply(s3.valueProperty());
        label.textProperty().bind(resultProperty.asString());
 
Sorry ich habe zu schnell gelesen, bei Slider ist es noch einfacher.

Code:
Slider s1 = new Slider();
        Slider s2 = new Slider();
        Slider s3 = new Slider();
        
        Label label = new Label();
        
        DoubleBinding resultProperty = s1.valueProperty().multiply(s2.valueProperty()).multiply(s3.valueProperty());
        label.textProperty().bind(resultProperty.asString());
 

Zurück
Oben