setStringPainted()
ofを使用するJProgressBar
と、処理完了量がパーセンテージで表示されます。しかし、パーセンテージではなく残り時間を表示できるように
カスタマイズするにはどうすればよいですか?setStringPainted()
質問する
4294 次
2 に答える
4
setString()
進捗文字列を設定します。そのプロパティの場合null
、単純なパーセンテージのみが表示されます。これは、ドキュメントで明確に指摘されています。
setString
public void setString(String s)
進捗文字列の値を設定します。デフォルトでは、この文字列は
null
であり、単純なパーセント文字列を使用する組み込みの動作を意味します。カスタムの進行状況文字列を提供していて、組み込みの動作に戻したい場合は、文字列を に戻しnull
ます。進捗文字列は、isStringPainted メソッドが true を返す場合にのみ描画されます。
パラメーター:
s
– プログレス文字列の値
于 2012-02-14T06:26:24.963 に答える
3
興味深いことに (読んで: 私は驚いています :-) getString をオーバーライドして、値に依存する進捗文字列を自分で実装する必要があります。
final JProgressBar bar = new JProgressBar() {
@Override
public String getString() {
int max = getMaximum();
return super.getString() + (max - getValue());
}
};
bar.setStringPainted(true);
ActionListener l = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
bar.setValue(bar.getValue() + 1);
}
};
bar.setString("missing: ");
new Timer(500, l).start();
于 2012-02-14T07:19:28.177 に答える