Как ограничить фокус JFrame в Swing? - PullRequest
1 голос
/ 03 июня 2011

У меня есть родитель JFrame, он содержит JButton.функциональность этой кнопки заключается в открытии другого окна.

Я хочу ограничить фокус окна, значит после закрытия фокус второго окна должен попасть в первое окно (родительское).И фокус не должен прийти к первому окну, если второе окно открыто.

Ответы [ 3 ]

1 голос
/ 03 июня 2011

да, это возможно, но обходной путь для двух или более JFrames , но для полной функциональности требуется много кода,

стандартным будет один JFrame, а другой TopLayoutContainers может быть JDialog , тогда вы можете легко играть с parent и модальностями , toFront , setAlwaysOnTop

1 голос
/ 03 июня 2011

Вы должны сделать ваше второе окно модальным . Тем не менее, вы, вероятно, захотите сделать это JDialog .

0 голосов
/ 03 июня 2011

Как говорилось в синоку, вы можете использовать модал.Однако, если вам нужно использовать JFrame, вы должны реализовать WindowListener для нового JFrame.В этой реализации для метода windowClosing() вы можете сказать originalJFrame.requestFocus().Конечно, ваш конструктор WindowListener должен содержать ссылку на исходный фрейм.

...