У меня есть класс Dialog, который инкапсулирует окно типа org.aswing.Component
.
Я создал функцию focus()
следующим образом:
public function focus() {
if (Std.is(window, org.aswing.Component)) {
var b = window.requestFocus();
}
}
После выполнения этой функции b
имеет значение true (т.е. reqest действителен), но не было запущено никаких событий. Можете ли вы объяснить, как принудительно настроить фокус?
Контейнеры (включая JWindow) не могут быть сфокусированы. Чтобы узнать, можно ли сосредоточить компонент или нет, вы должны использовать что-то вроде следующего
trace(component.isFocusable());
Посмотрите более подробно на http://doc.aswing.org/a3/
Когда вы создаете JWindow, вы можете перейти в modal = true, который гарантирует, что JWindow всегда на высоте и не позволит пользователям получать доступ к компонентам в других JWindows. Вы также можете вызвать метод setModal() JWindow после его создания.