Синхронизировать Java Progress Bar с выполнением метода - PullRequest
0 голосов
/ 31 января 2019

Я читал о прогресс-барах, и есть некоторые кусочки головоломки, которые я не могу понять.Я не понимаю, как установить индикатор выполнения, который показывает состояние данного потока или вызова метода, который вызывает другие методы.

Приведенный ниже код представляет собой краткое резюме того, что в основном я делаюна данный момент. Как вы можете видеть, я просто показываю простое и простое всплывающее окно с тривиальным сообщением «обработка информации», а после вызова вызываемых методов появляется другое всплывающее окно «Операция завершена!» ... Я знаю, что этоплохой подход, особенно потому, что он не дает никакой обратной связи с пользователем о том, что происходит.

  Thread t = null;
 try {
 if (...) {
  t = new Thread(new Runnable() {
    public void run() {
   JOptionPane.showMessageDialog(null, "processing information ....", "Wait",
                            JOptionPane.INFORMATION_MESSAGE);
                }
            });

            t.start();
        }

        if (response == null)
         waitResponse();


        if (...) {
                        //do some controls
             {
                if (...)
                    throw new AssertionError("you can't edit that field..");
            }

        }
        //
        if (type.equals("A"))
            methodA(1234);
        else if (type.equals("B"))
            methodB(1234);
        else if (type.equals("C")) {
            methodC(1234);
        } else if (type.equals("D")
            methodD(1234);   

 if (...) {
t = new Thread(new Runnable() {
    public void run() {
                    JOptionPane.showMessageDialog(null, "Operation Complete!", "Done",
                            JOptionPane.INFORMATION_MESSAGE);
                }
            });
            t.start();

}

Я хотел бы понять / узнать, как я могу использовать индикатор выполненияпоказать статус программы.Я прочитал некоторую информацию о doInBackground (), publish (int i), process (List chunks), но я не понимаю, как их использовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...