|
|
|
Splash или что-то около него :)
|
|||
|---|---|---|---|
|
#18+
Суть в следующем. Есть у меня клиент-серверное приложение. IDE на стороне клиента часто выполняет операции длительные по времени (5-20 сек). Вот решил повесить какое либо окошко с надписью "Ожидайте" или что-то вроде того. Для этого я создал JWindow и запихал в него JLabel. Теперь про отображение этого JWindow: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. При этом само окно отображается, но JLabel в нём не прорисовывается. Просто серое окошко и всё. Немного помозговав и порыскав по докам сделал следующее: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Добрые пиплы подскажите где я туплю. Или может есть какой путь попросче, а я мудрю по чём зря. Если не жалко, то с примерами кода. Задачка я так понимаю часто встречающееся и интересно кто как её решает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 08:17 |
|
||
|
Splash или что-то около него :)
|
|||
|---|---|---|---|
|
#18+
Нельзя из потоков элементами swing'а управлять, нужно таймер исползовать...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 11:55 |
|
||
|
Splash или что-то около него :)
|
|||
|---|---|---|---|
|
#18+
Вообще-то последний пример я подсмотрел в SwingSet2, который идёт в демках к JDK. Там-то работает :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 12:30 |
|
||
|
Splash или что-то около него :)
|
|||
|---|---|---|---|
|
#18+
Sergey Putra Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Добрые пиплы подскажите где я туплю. invokeLater() делает invoke, но Later %) Если твой код исполняется лишком быстро, то будет иметь место описанное тобой. Use invokeAndWait(). Но при этом нужно помнить о "This will happen after all pending AWT events have been processed." Поэтому, если метод myFunc() вызывается из event dispatcher thread, то получится ерунда. В этом случае, нужно "твой код" вызывать в отдельном thread'e. Так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Первый вариант не работал, потому что window#show() сам постит awt event и что бы его обработать (и прорисовка окна была завершена), должна закончиться обработка текущего эвента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2005, 17:36 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=822&tid=2153093]: |
0ms |
get settings: |
10ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
31ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 279ms |

| 0 / 0 |
