powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / JDialog и модальность
9 сообщений из 9, страница 1 из 1
JDialog и модальность
    #33147801
Anatoly K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги, просветите, чего-то не понимаю.

Создаю класс на базе JDialog:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 public   class  NewUserSession  extends  JDialog {
     public  NewUserSession(JFrame frame,  boolean  modal){
          super (frame,modal);
         . . . . 
    }
    . . . . . .
}

использую его в виде:
Код: plaintext
1.
2.
      NewUserSession dlg =  new  NewUserSession(mFrame, true, 
     dlg.setVisible(true);

Все работает.
В чем проблема: под Windows2000 возле кнопки Пуск есть кнопка свернуть все окна, которая минимизирует все окна на рабочем столе.
Когда я ее нажимаю, мое приложение удачно минимизируется (вместе со всеми остальными). Но, если при этом был открыт диалог, при восстановлении окна приложения он не показывается, хотя доступ к окну держит, т.е. такое впечатление, что он есть, но его не видно.
Если использовать Ctrl+Tab и переключаться на приложение оттуда - все нормально: показывается окно приложения и сверху мой диалог.
Это баг Swing, или я чего-то неправильно делаю?
Главное окно используется с оператором:
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
т.е. стиль Windows. Хотя только что поменял на CrossPlatformLookAndFeel - то же самое.
...
Рейтинг: 0 / 0
JDialog и модальность
    #33148179
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С подобным не сталкивался, но можно попробывать, в главном окне, отлавливать событие развертывания окна и там проверять, если диалог перед свертыванием был открыт, то вызвать метод show этого диалога.
...
Рейтинг: 0 / 0
JDialog и модальность
    #33148200
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wessenвызвать метод show этого диалога.Небольшое дополнение. Метод show() в 5.0 помечен как Deprecated.
...
Рейтинг: 0 / 0
JDialog и модальность
    #33149362
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
setVisible(false) вместо show()
deprecated он аж с JDK 1.1
...
Рейтинг: 0 / 0
JDialog и модальность
    #33149365
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В смысле setVisible(true) вместо show() и setVisible(false) вместо hide()
...
Рейтинг: 0 / 0
JDialog и модальность
    #33149565
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кувалдин Романdeprecated он аж с JDK 1.1А если все-таки открыть ApiDoc, то там написано:
api docDeprecated. As of JDK version 1.5, replaced by Component.setVisible(boolean).
...
Рейтинг: 0 / 0
JDialog и модальность
    #33149682
javadog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GMax Кувалдин Романdeprecated он аж с JDK 1.1А если все-таки открыть ApiDoc, то там написано:
api docDeprecated. As of JDK version 1.5, replaced by Component.setVisible(boolean).
а если быть более настойчивым и менее самоуверенным, то в javadoc 1.4.1 можно прочитать
javadoc
show ()
Deprecated . As of JDK version 1.1, replaced by setVisible(boolean).
...
Рейтинг: 0 / 0
JDialog и модальность
    #33149913
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot javadogа если быть более настойчивым и менее самоуверенным, то в javadoc 1.4.1 можно прочитать
javadoc
show ()
Deprecated . As of JDK version 1.1, replaced by setVisible(boolean).

Отчасти признаю ошибку. Дело в том что, когда у меня стояла 1.4.2, компилятор не ругался на show() в JFrame (если мне память не изменяет конечно). После установки 5.0 стал ругаться.
Я привел кусок ApiDoc из класа java.awt.Dialog, а ты, наверное, из класса java.awt.Component.
И написано там совершенно по разному. Отсюда можно предположить, что в 1.4.2 метод show не был depricated (у класса Dialog), а в 5.0 он уже такой.
Кстати можешь проверить на 1.4 что не будет компилятор ругаться на JDialog.show(), а в 5.0. будет.
А т. к. знакомство c явой я начал с 1.4 я сделал такой вывод.

З.Ы. Я не наезжаю, я оправдываюсь :)
...
Рейтинг: 0 / 0
JDialog и модальность
    #33155626
GMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати проблема описанная автором топика у меня не проявляется.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / JDialog и модальность
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]