Für dieses Stück Code (JavaFX).
%Vor%Ich bekomme einen Kompilierungsfehler (in Eclipse IDE)
Dies ist die Methodensignatur:
%Vor%Aber wenn ich die Parametrisierung (von StringConverter) entferne, bekomme ich nur Warnungen und Code funktioniert.
%Vor%Ich versuche zu vermeiden, rohe Generika zu verwenden, damit ich Warnungen in meiner IDE nicht unterdrücken muss.
Die Frage ist also:
Was ist das richtige Muster, um diesen Code zu schreiben?
Dies ist wahrscheinlich eine kleine "Falle" in den JavaFX-Eigenschaften. Wenn Sie sich die Signatur genau ansehen:
%Vor% Der Parameter des Konverters muss mit dem Parameter der Eigenschaft übereinstimmen. Aber (das surprize hier) DoubleProperty
implementiert Property<Number>
, also die fehlende Übereinstimmung in bindBidirectional
. Zum Glück ist die Lösung einfach: Verwenden Sie NumberStringConverter
:
Sie erhalten den zusätzlichen Vorteil, dass Sie das Konvertierungsformat angeben können.
Tags und Links binding javafx properties