![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Terentich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
Добрый день!
Не могу передать фокус на требуемый мне компонент в диалоге. После вызова метода requestFocus(), фокус не переходит куда следует. Всё работает только, если перед requestFocus() вызвать метод pack(), но я не могу использовать pack(). Приведу демонстрационный пример, где не работает requestFocus() без pack():
Итак, вопрос: как передать фокус компоненту без вызова метода pack()? И каким образом правильно передавать фокус? Это сообщение отредактировал(а) Terentich - 19.3.2008, 10:35 |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
А чем тебе мешает pack()? Только изменением размеров?
Просто пока окно не Displayable фокус передаваться не будет. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Terentich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
Да, pack() мешает именно изменением размеров. Неужели нельзя без него обойтись???
Я так понимаю, что его следует вызывать перед установкой фокуса именно для реализации компонента ("realized"). Можно сделать это другим способом? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Ну так и в чем проблема:
Фрейм надо сделать Displayable, это можно сделать либо pack(), либо setVisible(true). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Terentich |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
Спасибо, но довольно странно, что приходится действовать именно таким способом.
В примере передаю фокус после setVisible(true) для диалога. Или нужно запрашивать фокус для кнопки после вызова setVisible(true) в основном фрейме? |
||||||
|
|||||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Дык это же модальный диалог, и возврат из метода setVisible(true) происходит только после закрытия окна, и значит метод button3.requestFocus() будет вызван только после того как окно будет закрыто.
Вообще для управления фокусом используются другие средства: Customizing Focus Traversal. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| Terentich |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 24.11.2007 Репутация: нет Всего: нет |
Ступил. Спасибо за ответы. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |