20

jprogressbarを使用して可用性ステータスを示しています。 プログレスバー内に40%[仮定]のテキストを表示したい。どうやってするの?可用性値に応じてテキストが変更されました

4

8 に答える 8

42

次を使用できます。

初期化:

progressBar.setStringPainted(true);

更新:

progressBar.setValue(newValue);
于 2012-08-02T11:36:08.813 に答える
4
  • 完了した作業の割合setStringPainted(true)を表示するために使用します。

  • これを使用すると、増分値を設定し、完了時に終了メッセージを表示するのsetValue()に役立ちます...setString()

これが私のコードベースの例です:

final JProgressBar bar = new JProgressBar(0 , 100);  // 0 - min , 100 - max
bar.setStringPainted(true);
panel.add(bar);                   // panel is a JPanel's Obj reference variable

JButton butt = new JButton("start");
butt.addActionListener(){

    public void actionPerformed(){
        new Thread(new Runnable(){
            public void run(){
                int x = 0;
                while(x<=100) {
                    x++;
                    bar.setValue(x);        // Setting incremental values
                    if (x ==  100 ){
                        bar.setString("Its Done");   // End message
                        try{
                            Thread.sleep(200);
                        }catch(Exception ex){ }
                    }
                }).start();
            }
        });
于 2012-08-02T11:55:17.070 に答える
3
于 2012-08-02T11:52:01.533 に答える
2

これにより、バー内の進行状況が表示されます

   progressBar.setStringPainted(true);
于 2012-08-02T11:34:18.720 に答える
1

これは、進行状況バー内の進行状況のパーセンテージを示します

progressBar.setStringPainted(true);
于 2017-10-23T14:05:21.880 に答える
0

[assumption]あなたが表示したい文字列の一部であるかどうかはわかりません。その場合、完全なソリューションは次のようになります。

private static final String PROGRESS_MASK = "%d%% [assumption]";

public void someMethod() {
  ...

  progressBar.addChangeListener(new ChangeListener() {
    @Override
    void stateChanged(ChangeEvent e) {
      progressBar.setString(String.format(PROGRESS_MASK,
        progressBar.getValue()));
    }
  }

  progressBar.setStringPainted(true);
}

...パーセンテージを表示するだけのデフォルトの文字列に依存することはできません。

于 2012-08-02T11:52:39.760 に答える
0

ここで注意すべき2つのこと。それらは、

1)setStringPaintedメソッドを使用してJProgressBarのpaintString変数を設定する必要があります。あなたはそのようにすることができます

jprogressBar.setStringPainted(true)

あなたはこれをしなければなりません、なぜなら、

isStringPainted()

プログレスバーに進行状況の値またはパーセンテージを表示する必要がある場合、メソッドはtrueを返す必要があります。

2)カスタム値でカスタマイズするには、次を使用してjprogressBarインスタンスにカスタムを設定します。

jprogressBar.setString(customString)

その後、正常に動作するはずです。

于 2012-08-02T11:54:45.900 に答える
0

プログレスバーのステータスに応じて値(つまり、10%または40%...)を設定する方法を示すチュートリアルリンクは次のとおりですhttp://docs.oracle.com/javase/tutorial/uiswing/components/progress .html

于 2012-08-02T11:54:51.017 に答える