1

クリックするとJprogressバーを呼び出すJbutton「ハイライト」があります。プログレスバーは100%まで正常に機能します。

プログレスバーが100%に達した後にのみ結果を表示するにはどうすればよいですか。

コードの一部は次のとおりです。

final JProgressBar progressBar = new JProgressBar();
progressBar.setMaximum(100);
progressBar.setStringPainted(true);


btnNewButton_2.addActionListener(new ActionListener() {


        public void actionPerformed(ActionEvent e) {


                Thread t = new Thread(new Runnable() {
                    public void run() {
                    int i = 1;
                    progressBar.setMinimum(0);
                    progressBar.setMaximum(100);
                    try {
                        while (i <= 100 || true) {
                            progressBar.setValue(i);
                            i++;
                            Thread.sleep(38);

                        }
                    } catch (InterruptedException ex){}

            }});
            t.start();

// System.out.println( "Jprogress Bar Reached 100%)をどこに配置すればよいですか??

4

2 に答える 2

1

i++の後にifステートメントを追加します:)

  i++;
  if (i == 100) {
    displayResult();
    return;
  }

invokeAndWaitを使用することを忘れないでください。間違ったスレッドからGUIコントロールを操作しているため、現在のコードはうまく実行されない可能性があります。

于 2013-02-28T16:30:22.760 に答える
0
try{
    while (i <= 100 || true) {
        progressBar.setValue(i);
        i++;
        Thread.sleep(38);
     }
     // progress is definitely at 100 now
     // do whatever you need to display result here -- it would be faster than doing the check 
     // if(i==100) in every execution inside the while loop.
     System.out.println("Progress is done!!!");
} catch (....
于 2013-02-28T16:33:31.240 に答える