java - 如何将标签绑定(bind)到 StringProperty 的首字母?

标签 java string javafx bind

我有 StringProperty,它由两个不断变化的字母(例如:06)组成。我有两个标签,我想将它们绑定(bind)到 StringProperty 的每个字母,例如 label1="0"label2="6"。有没有办法将标签绑定(bind)到 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));
}

关于java - 如何将标签绑定(bind)到 StringProperty 的首字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29738574/

相关文章:

sql-server - 空格后的子串

python - 正则表达式使用递增的数字序列 Python

java - Eclipse/Java : adding a . css 文件到默认包

JavaFX - 边框半径<->背景颜色

android - 无法获取 'EclipseProject'类型的模型

java - 在 java 中使用具有原始类型的变量参数重载时的奇怪行为

java - 通过 IntelliJ Idea 在 Tomcat 中部署外部 war

java - 反编译 APK 上的 .smali 文件

java - 赋值运算符和 "this"关键字

c - C中的只读字符串