Tornadofx onFocus слушатель
Есть ли что-то вроде onFocus()
метод, который я мог бы переопределить как onDock()
а также onCreate()
в классе просмотра?
В документации написано только о перезагрузке представлений.
Я попытался объединить это с onDock()
а также onCreate()
метод, но, хотя он "работает", это не очень аккуратный способ репликации onFocus
поведение.
Есть ли простой способ иметь метод "слушателя", который вызывается, когда представление / фрагмент попадают в фокус впереди?
1 ответ
Представление является контейнером, а не элементом пользовательского интерфейса в смысле контекста JavaFX, поэтому оно не может получить onFocus
Перезвоните. Однако вы можете зарегистрировать его в текущем окне или даже в корневом узле представления. Если вы открываете окно, вы можете зарегистрировать такое даже с currentWindow
имущество. Если вы не открываете окно, вы можете зарегистрировать его в root
Свойство Вью. Вот пример прослушивания одного события изменения фокуса из currentWindow
:
override fun onDock() {
currentStage?.focusedProperty()?.onChangeOnce {
}
}