如何将标签绑定到StringProperty的第一个字母?

时间:2015-04-20 02:49:55

标签: java string javafx bind

我有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);
}

1 个答案:

答案 0 :(得分:4)

使用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));
}