|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.11.2018, 12:59 | #1 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 138
|
Как из ArrayList<String> передать строку в JTextArea?
Добрый день. Такие дела.
Если есть чисто ArrayList<String> то я строки могу в цикле через append в JTextArea передать. Но, у меня другая ситуация. Я к ArrayList глобал инстанс обращаюсь из статического метода из разных потоков, когда добавляю записи. А обратиться из статического метода к jTextArea не могу. Я пробовал по клику мыши из ArrayList добавлять записи в jTextArea. Работает. Но, не будет же пользователь постоянно кликать мышкой, чтобы увидеть записи. Как мне в интерфейс забрать строки? |
29.11.2018, 13:07 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Не обращаться из статического (зачем? всегда можно обойтись без этого) или передать экземпляр класса.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
29.11.2018, 13:54 | #3 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 138
|
Это же неудобно в каждый класс тащить указатель на коллекцию. Проще по статическому полю обратиться, когда записываешь. Или есть идея, как записывать по-другому. Я же из разных потоков из разных классов обращаюсь.
|
29.11.2018, 14:04 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Да полно способов, зависит от задачи.
Ну тогда что угодно "проще" делать с глобальными переменными. Да и ссылку на окно или его элементы никто не мешает туда положить.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 29.11.2018 в 14:11. |
29.11.2018, 14:06 | #5 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 138
|
Получается, что единственным способом организовать вывод пользователю информации из разных классов в разных потоках является таскание за собой ссылки на jTextArea? Не будет проблем при обращении к этому компоненту из разных потоков?
|
29.11.2018, 14:11 | #6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Причем тут потоки вообще?
Способы зависят от конкретной задачи. Колбеки самое простое и доступное везде (с Java 8 с помощью лямбд). Какое отношение это имеет к статику/не-статику? Будет, надо синхронизировать.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
29.11.2018, 14:16 | #7 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 138
|
Спасибо. Пойду учить колбэки. В qt я посылал сигнал из глобал инстансе класса и ловил его в интерфейсе.
|
30.11.2018, 15:08 | #8 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 138
|
Спасибо. Разобрался. Я знал, что это можно сделать с помощью интерфейса, но не знал, что называется это колбэком. Проблема была в том, что метод статический, не хотел цепочку колбэков делать. А потом пришло в голову, что никто не мешает листенера сделать статическим, а в jframe реализовать методы этого интерфейса.
|
30.11.2018, 15:34 | #9 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Цитата:
С лямбдами из Java 8 самому создавать класс реализующий интерфейс для вызова не обязательно. До 8 были анонимные классы. Полноценных событий (как сигналы/слоты в Qt) тоже нет из коробки, но с одним подписчиком и без необходимости отписываться и т.п. они и не нужны.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как передать значение string в fstream? | mc13 | Общие вопросы C/C++ | 5 | 14.02.2015 18:25 |
Как передать вместо свойства строку? | BoozZzilla | Общие вопросы Delphi | 6 | 12.12.2012 19:28 |
Как передать переменную String в SelectCommand в SqlDataSource? | sergey_dmitrievich | ASP.NET | 1 | 18.10.2011 13:55 |
Как передать в функцию указатель на String | avd | Общие вопросы C/C++ | 6 | 06.06.2010 17:52 |
Как передать TSrings в String??? | newprog12 | Общие вопросы Delphi | 4 | 08.01.2010 23:24 |