У меня этот код:Как мне теперь обмениваться обобщенным значением в ListView List на 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) {
}
});
Как я знаю, что должен быть параметр типа для ChangeListener<>
?
Я не уверен, что понимаю, что вы говорите/спрашиваете. Подпись 'addListener' вызывает' ChangeListener super T> '(Read - прослушиватель изменений того, что является супертипом T), поэтому, если' T' является 'Duration', я могу использовать' ChangeListener 'или' ChangeListener
Ну, это совершенно правильно. Я думал, вы имеете в виду противоположный путь продления класса Duration. Возможно, мой английский недостаточно хорош, или это немного неоднозначно для меня. – NwDev
Я отредактировал ответ и изменил его на «для любого T, который является супертипом продолжительности», я надеюсь, что это яснее. – Itai