所以我通常理解一个关键帧构造函数接受node属性和所需的结束值。
例如:
new KeyFrame(Duration.seconds(2),new KeyValue(YourNode.layoutXProperty,75));
但是,Label.textFill不存在,getTextFill是一个getter,而不是一个成员变量。有没有办法解决这个问题?
代码的工作方式如下:
new KeyFrame(Duration.seconds(2),new KeyValue(YourNode.textFill,Color.GREEN));
答案 0 :(得分:2)
类型为xxx
的JavaFX属性T
的方法命名模式为:
public Property<T> xxxProperty() // returns the property itself
public T getXxx() // returns the value of the property
public void setXxx(T x) // sets the value of the property
因此,例如,对于textFill
继承自Label
的{{1}}属性,有一个public ObjectProperty<Paint> textFillProperty()
方法,返回实际属性。
所以你需要的只是
Labeled
SSCCE:
new KeyFrame(Duration.seconds(2), new KeyValue(label.textFillProperty(), Color.GREEN))