![]() |
Модераторы: javastic, AntonSaburov |
![]() ![]() ![]() |
|
gvozd |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 25.7.2006 Репутация: нет Всего: нет |
Здравствуйте.
Помогите, пожалуйста, решить такую задачу. Мидлет при запуске генерирует на форме список. При клике на элементе списка открывается canvas с содержимым, но так как canvas довольно долго открывается, в связи со считыванием данных, хотелось бы после клика отображать заставку, чтоб не создавалось впечатление зависшего приложения. Пробовал сделать следующим образом:
Но заставка не отображается, а сразу появляется readCanvas. Подскажите, пожалуйста, как отобразить заставку. |
|||
|
||||
RomkaRomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 9.9.2005 Где: Луганск Репутация: 1 Всего: 1 |
Может поможет: отображать заставку прямо из канваса. Добавить в конвас переключатель состояния и в соответствии состояния отрисовывать нужное.
С уважением, Роман. |
|||
|
||||
eugine_s |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 581 Регистрация: 14.11.2007 Где: Киев Репутация: 17 Всего: 17 |
После вот этого:
нужно усыпить поток, чтобы дать возможность перерисовать экран. т.е.
Добавлено через 10 минут и 36 секунд RomkaRomka, нет, так не получится. Результат будет аналогичный. repaint() - это не гарантированная перерисовка экрана. Это только "галочка" для потока перерисовки экрана (*галочка можно читать как - было бы не плохо перерисовать экран). Но если основной поток занят каким-то "тяжелым" заданием, то поток перерисовки экрана может просто не получить времени для выполнения своего задания. Точнее он получает время для перерисовки экрана, но уже после того как основной поток выполнил задание. Так же можно попробовать после repaint() вызывать serviceRepaint(). Но все же я рекомендовал бы разобраться с приоритетами потоков. Это сообщение отредактировал(а) eugine_s - 2.12.2008, 19:13 |
||||
|
|||||
gvozd |
|
|||
Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 25.7.2006 Репутация: нет Всего: нет |
Всем спасибо, проблема решена. Сделал проще - класс Loader, в который передаются необходимые данные и отрисовывается сплэш, затем в нем через миллисекунду срабатывает таймер, который вызывает чтение данных и их вывод.
|
|||
|
||||
RomkaRomka |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 9.9.2005 Где: Луганск Репутация: 1 Всего: 1 |
Согласен, с repaint() ступил. Есть такая фишка.
С уважением, Роман. |
|||
|
||||
![]() ![]() ![]() |
FAQ раздела лежит здесь! |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |