вызов TransferFocus или requestFocus? - PullRequest
       11

вызов TransferFocus или requestFocus?

3 голосов
/ 26 апреля 2010

в моем приложении я получаю компонент для фокусировки, это может быть jpanel, а может быть jbutton или пользовательский компонент

как я могу узнать, когда звонить на TransferFosus, а когда звонить на requestFocus

спасибо

Ответы [ 3 ]

3 голосов
/ 26 апреля 2010

transferFocus() отправляет фокус на следующий компонент. Также обратите внимание , что transferFocus() всегда будет переводить фокус в прямом направлении.

requestFocus() отправляет фокус на вызывающий компонент. Тем не менее, нет никаких гарантий, что это будет успешным. Поведение фокуса в определенной степени зависит от платформы.

Для получения фокуса рекомендуется *1011* - использовать requestFocusInWindow(). См. этот пост - может оказаться очень полезным при игре с фокусом.

1 голос
/ 26 апреля 2010

Используйте функцию TransferFocus (), если вы хотите повысить фокусировку в соответствии с порядком фокусировки. requestFocus () используется для явной установки фокуса на компонент.

Некоторое фоновое чтение в Фокус на Swing

0 голосов
/ 26 апреля 2010

Редко, когда вам нужно было бы позвонить либо, так как это обычно уместно, чтобы действия клавиатуры / мыши пользователя определяли фокус. Но TransferFocus отводит фокус от вашего компонента, а requestFocus фокусирует его на вашем компоненте.

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