计算填写的文本框的百分比

时间:2017-01-15 06:29:53

标签: java javafx progress-bar

我正在开发一个javafx项目,其中我提供了一个要填写的文本框。我想计算填充的文本框的百分比...例如100个字符是一个限制,50个填写所以50应该是%值,但它应该自动更改,因为我一直打字。我不知道该怎么做(特别是自动的东西)。我想在进度条上显示%值,如下所示: (忽略按钮)

enter image description here 需要帮忙!提前谢谢

1 个答案:

答案 0 :(得分:1)

您可以自己定义一个与DoubleBinding绑定的textProperty,并在每次更改时重新评估其值。

final double max = 100;
TextField text = new TextField();
DoubleBinding percentage = new DoubleBinding() {
    {
        super.bind(text.textProperty());
    }
    @Override
    protected double computeValue() {
        return text.getText().length() / max;
    }
};

DoubleBinding的静态初始化程序块中绑定textProperty的{​​{1}}。这将导致通过TextField方法重新评估绑定。然后,您可以将其绑定到computeValue的{​​{1}}:

textProperty

当然,您也可以将其绑定到Label之外的其他控件,例如Label lbl = new Label(); lbl.textProperty().bind(percentage.asString()); Label

ProgressBar

然后,此绑定可用于显示已填写的百分比。您还可以查看此documentation by Oracle。此绑定的类型是低级绑定。