2011-06-16 2 views
0

У меня есть GUI с несколькими JDialogs, 2 или 3 из которых являются «основными» большими, и поэтому они должны быть «никогда не сверху», других (малых).Как сделать JDialog никогда сверху (в одном приложении, а не в общесистемном)

Я думаю, что использование «всегда сверху» на другом JDialog было бы решением, но это не совсем то, чего я пытаюсь достичь.

любой отзыв приветствуется, спасибо!

ответ

2

Если вы используете 1.6, возможно, сыграть с ModalityType и ModalExclusionType поможет вам. Обратите внимание, что modalitytype и modalexclusiontype доступны только в версии 1.6.

+0

ModalityType подразумевает некоторый уровень блокировки, однако мои диалоги немыслимы, проблема не в модальности: диалоги не должны блокироваться в любом случае. – Bastien

0

Похоже, что ваши большие JDialogs, возможно, должны быть JFrames.

Другой вариант: используйте JDesktopPane и используйте JInternalFrame.

Третий вариант: используйте слоированные панели для управления заказами предметов.

+0

** используя JFrames ** не работает. «маленькие» диалоги, которые я создавал бы, будут связаны только с ОДИН из 3 JFrames, так что это будет «всегда сверху» только этого JFrame, а не других. ** JDesktopPane ** является допустимым вариантом, но он побеждает идею использования только JDialog (он добавляет один «охватывающий» JFrame). ** Многослойные панели **, я думаю, что его нельзя использовать так. JDialogs не могут быть добавлены в слоистую панель (хотя наиболее близкой вещью будет JDesktopPane). после некоторых исследований Z-порядок JDialogs, похоже, не поддерживается Java, поскольку он в основном зависит от платформы. – Bastien

 Смежные вопросы

  • Нет связанных вопросов^_^