如何将标签绑定到 StringProperty 的首字母?
How to bind label to first letter of StringProperty?
我有 StringProperty
,其中包含两个不断变化的字母(例如:06)。我有两个标签,我想将它们绑定到 StringProperty 的每个字母,例如 label1="0"
和 label2="6"
。有没有办法将标签绑定到 StringProperty
的特定字母?
我的代码:
@FXML
private Label hoursLabel1;
@FXML
private Label hoursLabel2;
private StringProperty hours;
@FXML
private void initialize() {
hoursLabel1.textProperty().bind(hours);
}
使用Bindings.createStringBinding(...)
:
@FXML
private void initialize() {
hoursLabel1.textProperty().bind(Bindings.createStringBinding(() ->
hours.get().substring(0,1), hours));
hoursLabel2.textProperty().bind(Bindings.createStringBinding(() ->
hours.get().substring(1,2), hours));
}
我有 StringProperty
,其中包含两个不断变化的字母(例如:06)。我有两个标签,我想将它们绑定到 StringProperty 的每个字母,例如 label1="0"
和 label2="6"
。有没有办法将标签绑定到 StringProperty
的特定字母?
我的代码:
@FXML
private Label hoursLabel1;
@FXML
private Label hoursLabel2;
private StringProperty hours;
@FXML
private void initialize() {
hoursLabel1.textProperty().bind(hours);
}
使用Bindings.createStringBinding(...)
:
@FXML
private void initialize() {
hoursLabel1.textProperty().bind(Bindings.createStringBinding(() ->
hours.get().substring(0,1), hours));
hoursLabel2.textProperty().bind(Bindings.createStringBinding(() ->
hours.get().substring(1,2), hours));
}