Тяжелые компоненты на Mac OS x в Java - PullRequest
0 голосов
/ 19 марта 2012

У меня есть приложение, которое в основном состоит из апплета, который работает в браузере.Я проверял это приложение для Mac OS X и столкнулся с проблемой фокуса, которая не возникает в Windows или Linux.

Проблема возникает, например, каждый раз, когда я использую JFileChooser для выбора каталогасохранить файл.После того, как я выбрал каталог и нажал «ОК» в JFileChooser, если я запускаю приложение в Windows, Linux, я возвращаюсь к апплету, из которого я открыл JFileChooser.Но в Mac OS X, когда я заканчиваю использовать JFileChooser и закрываю его (или нажимаю ок), фокус не возвращается к апплету.В этом случае мне нужно щелкнуть где-нибудь внутри апплета, чтобы вернуть фокус назад.Это происходит не только тогда, когда я использую JFileChooser, но также каждый раз, когда я использую «тяжеловесный» компонент.

Интересно, если это известная проблема, и мы должны решить ее, используя, например, requestFocus ()?У кого-нибудь из вас были проблемы с этим раньше?

1 Ответ

1 голос
/ 19 марта 2012

"Поскольку поведение фокуса этого метода зависит от платформы, разработчикам настоятельно рекомендуется использовать requestFocusInWindow, когда это возможно."

См. Ответ здесь: Java-апплетне захватывает фокус в JRE 1.6.0_29 и выше (OS X)

(я погуглил: "проблемы фокуса апплета браузера osx")

...