Java-апплет не захватывает фокус в JRE 1.6.0_29 и выше (OS X) - PullRequest
0 голосов
/ 13 декабря 2011

Java-апплет имеет следующий метод start ():

this.setFocusable(true);
this.requestFocus();

При запуске апплет захватывает фокус только в определенных конфигурациях ОС / JRE / браузера. Он скомпилирован с использованием JDK 1.6.0_18, и на моем компьютере под управлением Java 1.7 он без проблем захватывает фокус во всех браузерах (т. Е. Chrome, Firefox); даже если апплет скомпилирован с использованием JDK 1.7.

В Mac OS X 10.6.8, которая поставляется с Java 1.6.0_29, он не захватывает фокус в Safari, Chrome или Firefox, но апплет загружается нормально. Когда я обновляю Mac OSX JDK до превью 1.7 - он вообще не загружает апплет. Если я компилирую апплет с использованием JDK 1.7 и запускаю с использованием JRE 1.7 - он просто вылетает из браузера на Mac.

Кто-нибудь сталкивался с подобными проблемами? спасибо.

1 Ответ

1 голос
/ 13 декабря 2011

Документы.для Component.requestFocus() состояние:

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

Возможно ли использовать последнее в этом случае?

Кто-нибудь сталкивался с подобными проблемами?

Проблемы с фокусировкой идут рука об руку со встроенными апплетами.Если вы хотите более надежное поведение фокуса, запустите апплет с плавающей запятой, используя Java Web Start .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...