настольное приложение Java - изменение выбора JList не обновляет интерфейс - PullRequest
0 голосов
/ 19 июня 2010

Как я уже сказал, у меня есть настольное приложение Java.Интерфейс содержит JList, и я изменяю содержимое этого списка в некоторых пользовательских слушателях, которые я реализовал.

Один из слушателей просматривает все элементы в списке и выполняет некоторые операции, которые могут занять некоторое время.Я хотел бы показать пользователю элемент, на котором я сейчас нахожусь.Для начала я просто попытался перебрать элементы списка и просто установить выбранный индекс, а затем вызвать перерисовку (я делаю эти 2 операции для каждого элемента).Что происходит, так это то, что во время этой итерации интерфейс не изменяется до конца, когда последний элемент помечается как выбранный.

У кого-нибудь есть подсказка, почему это может происходить и как показать изменение выбора в A JList?

Спасибо, Михаела

Ответы [ 2 ]

1 голос
/ 20 июня 2010

Для тех, кому нужно узнать о параллелизме в свинге, как и в моем случае, я думаю, что следующая ссылка также очень поможет: Параллельность в Swing

1 голос
/ 19 июня 2010

Вы, похоже, выполняете свои трудоемкие операции в том же потоке, который отвечает за обновление вашего графического интерфейса ( Поток диспетчеризации событий ).Ваше приложение зависает до завершения операции.

Посмотрите на Threads и Swing , чтобы понять проблему, и на Использование рабочего потока Swing для примеров того, какчтобы исправить это.

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