Я хочу обработать двойной щелчок на просмотре списка tornadofx, но получаю исключение:
java.lang.NoClassDefFoundError: com/sun/javafx/scene/control/skin/TableColumnHeader
at tornadofx.NodesKt.isInsideRow(Nodes.kt:492)
[...]
В приведенном ниже коде, если я использую onDoubleClick
, это работает, но я бы хотел иметь возможностьиспользовать onUserSelect
или хотя бы понять, почему это не работает.
package com.example.demo.app
import tornadofx.*
class MainView : View("listview demo") {
val things = SortedFilteredList<String>()
init {
things.add("aaa")
things.add("bbb")
}
override val root = listview(things) {
onUserSelect {
println("user select")
}
/*
onDoubleClick {
println("double click")
}
*/
}
}
class MyApp: App(MainView::class)
Запуск ubuntu 18.04.3. Здание с gradle 5.6.3, kotlin 1.3.50, tornadofx 1.7.19. Gradle javafxplugin получает javafx по умолчанию, но я также попытался указать версии 11-13 явно и получить то же поведение. Я также попытался установить пакет Ubuntu OpenJFX версии 11.0.2 + 1-1 ~ 18.04.2.