问:当我们的fxml文件中包含以下代码时:
text =“ $ {controller.timerText}”
我相信我们会将fxml的文本绑定到控制器文件中的timerText。但是timerText在我们的控制器文件中不存在。有mTimerText,但这是一个私有字段。它实际上是否调用以下方法?
public StringProperty timerTextProperty(){
return mTimerText;
}
还是这个?
公共字符串getTimerText(){
return mTimerText.get();
}
我相信这两个将被绑定。但是我似乎无法查明。
也是我们使用StringProperty和SimpleStringProperty的原因是什么?在意义上,一个人何时会使用一个,为什么?
它基本上是一个具有getters,setters和属性方法^的字符串吗?
为什么只能在javaFX中而不是在普通java中呢?
我觉得StringProperty,fxml中的绑定与该属性方法之间存在某种联系。如果有人可以帮助消除我的困惑,那就太好了。
答:我再次看了看,相信现在我明白了。我们需要使用StringProperty才能使用绑定功能。因此,当我们编写timerText时,它会自动引用timerTextProperty()方法。所谓的JavaBeans仅在javafx中使用,因为我们没有fxml,因此在常规java中没有绑定。