Ich habe diesen Code bekam:Wie kann ich jetzt den generischen umschlossenen Wert auf einem Property Change Listener auf Java Fx?
circle2.radiusProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
System.out.println("Change detected for " + observable);
circle1.setRadius(newValue.doubleValue());
}
});
final IntegerProperty lapCounterProperty = new SimpleIntegerProperty();
pathTransition.currentTimeProperty().addListener(new ChangeListener<Duration>() {
@Override
public void changed(ObservableValue<? extends Duration> observable, Duration oldValue, Duration newValue) {
}
});
Wie kann ich wissen, was der Typ-Parameter für ChangeListener<>
sein sollte?
Ich bin mir nicht sicher, ob ich verstehe, was Sie sagen/fragen. Die Signatur von 'addListener' fordert' ChangeListener super T> '(Read - ein Change Listener von etwas, das ein Super-Typ von T ist), also wenn' T' 'Duration' ist, kann ich einen' ChangeListener 'oder' verwenden ChangeListener
Nun, das ist völlig korrekt. Ich dachte, du meinst den umgekehrten Weg einer verlängerten Duration-Klasse. Vielleicht ist mein Englisch nicht gut genug oder es ist ein bisschen mehrdeutig für mich. – NwDev
Ich habe die Antwort bearbeitet und änderte es in "für jede T, die ein Supertyp der Dauer ist", ich hoffe, das ist klarer. – Itai