Как поместить несколько обработчиков на кнопку в Tornadofx (Kotlin)
Наткнулся на 2 события кнопки при использовании TornadoFx: onLeftClick { } и onRigthClick { }. Каждое событие в отдельности отрабатывает как и задумывалось. При одновременном использовании обоих событий - отрабатывает только последнее. Каким образом можно заставить работать оба обработчика?
Ответы (1 шт):
Автор решения: Eugene Krivenja
→ Ссылка
Известный баг в TornadoFx.
В случае определения и onLeftClick и onRigthClick они перекрываются и один переписывает другого.
Как вариант если нужны оба -- использовать setOnMouseClicked
val clickCount: Int = 1
setOnMouseClicked {
if (it.clickCount == clickCount && it.button === MouseButton.PRIMARY) {
// onLeftClick
}
if (it.clickCount == clickCount && it.button === MouseButton.SECONDARY) {
// onRightClick
}
}
Взято отсюда: https://github.com/edvin/tornadofx/issues/1287