Cambia suavemente un efecto JavaFX

¿Es posible cambiar suavemente un efecto en JavaFX? He intentado muchas opciones, pero nada funciona.

Por ejemplo, Java:

void effectChange(Node node) { // Node Effect = ColorAdjust (0.0, 0.0, 0.0, 0.0) KeyValue keyValue = new KeyValue(node.effectProperty(), new ColorAdjust(-0.8, 0.0, 0.0, 0.0)); KeyFrame keyFrame = new KeyFrame(Duration.seconds(2.0), keyValue); Timeline timeline = new Timeline(keyFrame); timeline.play(); } 

Por ejemplo, Kotlin:

 fun effectChange(node: Node) { // Node Effect = ColorAdjust (0.0, 0.0, 0.0, 0.0) val keyValue = KeyValue(node.effectProperty(), ColorAdjust(-0.8, 0.0, 0.0, 0.0)) val keyFrame = KeyFrame(Duration.seconds(2.0), keyValue) val timeline = Timeline(keyFrame) timeline.play() } 

Estás limitando la propiedad incorrecta. En lugar de cambiar el efecto, debe cambiar la propiedad del efecto. Eche un vistazo al siguiente ejemplo:

  Button btn = new Button("Say 'Hello World'"); ColorAdjust effect = new ColorAdjust(0.0, 0.0, 0.0, 0.0); btn.setEffect(effect); btn.setOnAction((ActionEvent event) -> { KeyValue keyValue = new KeyValue(effect.hueProperty(), -0.8); KeyFrame keyFrame = new KeyFrame(Duration.seconds(2.0), keyValue); Timeline timeline = new Timeline(keyFrame); timeline.play(); }); 
  • ¿Por qué IntelliJ no reconoce mi método principal?
  • Proporcionar methods en Dagger 2
  • Usando la cláusula Kotlin WHEN para <, <=,> =,> comparaciones
  • ¿Cómo diferenciar entre una reference de miembro llamable encuadernada y una function del mismo tipo en kotlin?
  • comstackr el bloque de Kotlin en el file build.gradle arroja el error "No se pudo encontrar el método compileKotlin () para los arguments "
  • Cómo acceder a los objects-miembros de una statement de object en kotlin
  • Kotlin Coroutines con valor de retorno
  • Kotlin Modules con Gradle Multi-Project
  • ¿por qué el controller de excepciones coroutine duplica la exception original?
  • Métodos estáticos de Kotlin y variables
  • ¿Cuál es la forma correcta de tratar con los campos en Kotlin?