私は入力するテキストボックスを提供しているjavafxプロジェクトに取り組んでいます。テキストボックスの%を計算したいと思います。例えば100文字が限界です.50 50が%の値になるはずですが、入力を続けると自動的に変更されるはずです。私はそれを行う方法を正確にはわかりません(特に自動のもの)。ヘルプが必要です (ボタンを無視)入力したテキストボックスの%を計算する
:私はこのようなプログレスバー上の%値を表示したいです!あらかじめありがとうございます
私は入力するテキストボックスを提供しているjavafxプロジェクトに取り組んでいます。テキストボックスの%を計算したいと思います。例えば100文字が限界です.50 50が%の値になるはずですが、入力を続けると自動的に変更されるはずです。私はそれを行う方法を正確にはわかりません(特に自動のもの)。ヘルプが必要です (ボタンを無視)入力したテキストボックスの%を計算する
:私はこのようなプログレスバー上の%値を表示したいです!あらかじめありがとうございます
自分でDoubleBinding
を定義してtextProperty
にバインドし、各変更ごとにその値を再評価します。あなたはTextField
のtextProperty
をバインドDoubleBinding
の静的初期化子ブロックで
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;
}
};
。これにより、computeValue
メソッドによるバインディングの再評価が発生します。そして、あなたがLabel
のtextProperty
にバインドすることができます:もちろん
Label lbl = new Label();
lbl.textProperty().bind(percentage.asString());
をあなたもProgressBar
またはProgressIndicator
などのLabel
以外のコントロールにバインドすることができます
ProgressBar bar = new ProgressBar();
bar.progressProperty().bind(percentage);
ProgressIndicator indicator = new ProgressIndicator();
indicator.progressProperty().bind(percentage);
このバインディング、その後することができすでに記入された割合を表示するために使用されます。もご覧ください。このバインディングのタイプは、低レベルのバインディングです。
Thanx @hotzst ..どのように役立つかを少し説明してください。 – minigeek
@minigeekは、バインディングを使用する方法といくつかの例を追加しました。 – hotzst
Tysm @hotzst ... gr8 – minigeek