Установите фокус на специальный компонент

Вопрос:

У меня есть класс Dialog, который инкапсулирует окно типа org.aswing.Component.
Я создал функцию focus() следующим образом:

public function focus() {
if (Std.is(window, org.aswing.Component)) {
var b = window.requestFocus();
}
}

После выполнения этой функции b имеет значение true (т.е. reqest действителен), но не было запущено никаких событий. Можете ли вы объяснить, как принудительно настроить фокус?

Ответ №1

Контейнеры (включая JWindow) не могут быть сфокусированы. Чтобы узнать, можно ли сосредоточить компонент или нет, вы должны использовать что-то вроде следующего

trace(component.isFocusable());

Посмотрите более подробно на http://doc.aswing.org/a3/

Ответ №2

Когда вы создаете JWindow, вы можете перейти в modal = true, который гарантирует, что JWindow всегда на высоте и не позволит пользователям получать доступ к компонентам в других JWindows. Вы также можете вызвать метод setModal() JWindow после его создания.

Оцените статью
TechArks.Ru
Добавить комментарий