|
|
|
JAVA6: проблемы с модальностью окошек
|
|||
|---|---|---|---|
|
#18+
Перешли на java 6 и столкнулись с "плавающим багом" следующего вида: Иногда модальные диалоговые окошки меняются местами и сверху появляется окно которое должно быть ПОД текущим модальным диалогом. причем его можно сдвинуть мышкой и напрмер ткнуть в кнопку "отмена" на текущем модальном диалоге который "запал" под выскочившее окно, ХОТЯ оно должно было дождаться когда текущий модальный диалог закроется.... Причем появляется этот баг не стабильно то есть то нету :( Кто нить с таким сталкивался? Доп. инфо: у нас в проге все окошки - наследники от JDialog, а главное окно от JFrame. Причем похожий баг был и в 4-ой жаве, но там мы его зарулили своим типа "стеком окошек", который убрали при переходе на 6-ую жаву. Замечено что баг чаще проявляеся если активно переключатся с нашего приложения на другие приложения по ALT-TAB или мышой на таск баре, но четко воспроизводимого примера нету :( Что посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2007, 15:21:27 |
|
||
|
JAVA6: проблемы с модальностью окошек
|
|||
|---|---|---|---|
|
#18+
Это не новый - это старый баг. Еще с 1.3 версии. При создании диалогового окна надо в конструктор передавать ссылку на нижнее окно или диалог - тогда все будет нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2007, 16:35:35 |
|
||
|
JAVA6: проблемы с модальностью окошек
|
|||
|---|---|---|---|
|
#18+
ДуремарЭто не новый - это старый баг. Еще с 1.3 версии. При создании диалогового окна надо в конструктор передавать ссылку на нижнее окно или диалог - тогда все будет нормально. Досадно... дело в том что в моем случае это не возможно :( так как приходится иметь дело с легаси кодом гигантского размера и все не перепишешь.... Наверное придется обратно "костыли" из самодельного стека окошек подставлять.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2007, 04:58:56 |
|
||
|
JAVA6: проблемы с модальностью окошек
|
|||
|---|---|---|---|
|
#18+
Alexey KuznetsovДосадно... дело в том что в моем случае это не возможно :( так как приходится иметь дело с легаси кодом гигантского размера и все не перепишешь.... Наверное придется обратно "костыли" из самодельного стека окошек подставлять.... Очень знакомая ситуация :) Костыли эти для того похоже и были сделаны.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.03.2007, 10:57:38 |
|
||
|
JAVA6: проблемы с модальностью окошек
|
|||
|---|---|---|---|
|
#18+
Дуремар Очень знакомая ситуация :) Костыли эти для того похоже и были сделаны.... Вы то же делали костыли? может поделитесь? :) Мы пока костыли не стали делать, а в тех местах где пользователи особо часто жалуются переписываем на вызов конструктра с указанием родительского диалога ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2007, 11:56:42 |
|
||
|
JAVA6: проблемы с модальностью окошек
|
|||
|---|---|---|---|
|
#18+
Делал, а как же :) Делал Singleton в котором хранил ссылку на основное окно. При создании диалога подсовывал эту ссылку в конструктор. Проблема только если создается диалог над диалогом. Тут можно в Singleton хранить стэк отображаемых окон - верхнее активное. Т.е. при показе диалога помещать ссылку на него в Singleton, при хайде удалять ссылку. Следующий диалог получит ссылку на верхний активный и т.д. Реализовать просто - достаточно написать базовый класс диалога, который будет дабавлять/удалять ссылки на себя в стеке, и все существующие диалоги отнаследовать от него. Но надо четко понимать одну вещь - это костыль а не грамотное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2007, 18:20:22 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2146135]: |
0ms |
get settings: |
12ms |
get forum list: |
22ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
50ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 294ms |
| total: | 469ms |

| 0 / 0 |
