Установить фокус на специальный компонент - PullRequest
0 голосов
/ 19 апреля 2011

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

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

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

Ответы [ 2 ]

0 голосов
/ 21 апреля 2011

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

0 голосов
/ 19 апреля 2011

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

trace(component.isFocusable());

. Внимательно посмотрите на http://doc.aswing.org/a3/

.
...