Показывать разные сообщения в JTextArea в Java Swing после нажатия кнопки - PullRequest
0 голосов
/ 05 октября 2018

У меня есть программа с кнопкой, которая делает что-то N раз, и после каждого раза я хочу видеть ее журнал в JTextArea.Я хочу нажать кнопку, чтобы программа проходила цикл for N раз, а после каждого раза сообщать мне в JTextArea что-то вроде «Это N раз, когда я делаю это».

Это кодмоей кнопки:

for (int i = 0; i < 3; i++) {
        if (next) {
            int random = (int) (Math.random() * ((75 - 35) + 1)) + 35;
            //Do other things (add something to a DB)
            try {
                textarea.append("Loop number: "+i+". I'm gonna wait " + random + " seconds before continuing.\n");
                TimeUnit.SECONDS.sleep(random);
            } catch (InterruptedException ex) {
                Logger.getLogger(Ventana.class.getName()).log(Level.SEVERE, null, ex);
            }
        } else {
            textarea.append("I'm done.\n");
        }
    }

Проблема в том, что, если я нажимаю кнопку, программа делает все, а затем, после завершения всех циклов, все сообщения отображаются одновременно после завершения.

Есть ли способ иметь такой журнал в моей программе?Без использования System.out.println.

Спасибо!

РЕДАКТИРОВАТЬ: Еще немного информации: больше ничего не будет, это все, что он делает.Это просто окно, подобное этому: введите описание изображения здесь Код вызывается после нажатия этой кнопки.

...