Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JTextArea SetText, обновление содержание кнотрола / 5 сообщений из 5, страница 1 из 1
13.05.2016, 17:12
    #39235432
PriBoy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JTextArea SetText, обновление содержание кнотрола
Привет всем. Собственно ворпос.

Использую приложение на java для передачи чего-то там в базу данных. Swing для интерфейса, JTextArea для того, чтобы отображать текущий статус. И вот приходит ко мне несколько десятков тысяч комманд, и я их собираюсь выполнить. Перед этим делаю SetText, либо append, в котором сообщаю, что буду делать. Но это моё сообщение появляется уже после того, как всё закончится. То есть компонент не перерисовывается перед выполнением этого длительного запроса, что не есть гуд. Вопрос. Как то можно его принудительно заставить это сдеать? Я помню в дельфях была така специальная команда Application.processmessages; Вот что-то типа неё. Или может быть как-то по-другому заставить компонент перерисоваться...
...
Рейтинг: 0 / 0
13.05.2016, 18:00
    #39235479
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JTextArea SetText, обновление содержание кнотрола
Google -> Java Tutorial SwingWorker
...
Рейтинг: 0 / 0
13.05.2016, 18:02
    #39235481
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JTextArea SetText, обновление содержание кнотрола
Дело не в том что гуя не обновляется, а в том что вы свои долгоиграющие задачи выполняете в потоке гуя. А делать это нужно в фоновом потоке и из него обновлять гуй результатами через методы SwingUtils. SwingWorker позволяет слегка упростить такой код
...
Рейтинг: 0 / 0
13.05.2016, 18:05
    #39235482
irbis_al
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JTextArea SetText, обновление содержание кнотрола
PriBoy,
Код: java
1.
2.
3.
4.
5.
6.
7.
                SwingUtilities.invokeLater(new Runnable() {
                        public void run() {
                            TextArea.setText("TEXT");
                           

                        }
                    });



Хотя я бы лучше в потоке обновлял базу...а в главном потоке делал
TextArea.setText("TEXT");
...
Рейтинг: 0 / 0
13.05.2016, 19:10
    #39235522
PriBoy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JTextArea SetText, обновление содержание кнотрола
Коллеги, спасибовсем. Я думаю, дальше разберусь.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JTextArea SetText, обновление содержание кнотрола / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]