Могу ли я сделать JDialog модальным, используя собственное системное окно в качестве родителя?

У меня есть окно JDialog. Мне нужно сделать его модальным, но родителем является не окно Java, а собственное окно ОС Windows. Является ли это возможным?


person Oleg Vazhnev    schedule 02.08.2011    source источник


Ответы (1)


Нет, не можешь. Вы даже не можете получить ссылку не только на собственные окна, но даже на окна, созданные Java-приложением, запущенным в другой JVM.

Но вы можете создать фиктивное окно (Window, а не Frame или JFrame), установить его размер как 0 и использовать его как родительский для любого диалогового окна. Я не знаю, в чем заключается ваша конкретная проблема, но иногда может помочь то, что я упомянул.

person AlexR    schedule 02.08.2011
comment
Есть ли у вас какие-либо ссылки, чтобы показать, что действительно невозможно получить ссылку на собственное окно? даже через JNI или JNA? Этот парень stackoverflow.com/questions / 4809713 / имеет дескриптор собственного окна Windows. - person LarsH; 31.03.2012
comment
Очевидно, что JNI позволяет делать то, что вы хотите. Но код не будет кроссплатформенным. - person AlexR; 09.02.2015
comment
Я думаю, что тот, кто проголосовал против, должен, по крайней мере, оспорить свое решение. Даунвотин правильный ответ без всяких аргументов это как минимум невежливо. - person AlexR; 09.02.2015
comment
Я согласен с тем, что голосующий против должен объяснить свои причины. Я не был проигравшим. - person LarsH; 09.02.2015