Kotlin 使用TornadFX双击处理listview
我想处理双击tornadofx列表视图的操作,但出现了一个异常:Kotlin 使用TornadFX双击处理listview,kotlin,tornadofx,Kotlin,Tornadofx,我想处理双击tornadofx列表视图的操作,但出现了一个异常: java.lang.NoClassDefFoundError: com/sun/javafx/scene/control/skin/TableColumnHeader at tornadofx.NodesKt.isInsideRow(Nodes.kt:492) [...] 在下面的代码中,如果我使用onDoubleClick,它会工作,但我希望能够使用onUserSelect,或者至少理解为什么它不工作 pack
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的建筑物。GradleJavaFXPlugin获得了默认的javafx,但我也尝试过显式地指定版本11-13,并获得了相同的行为。我还尝试安装UbuntuOpenJFX软件包版本11.0.2+1-1~18.04.2。听起来你想用JDK/JavaFX比8新运行TornadoFX 1。请将Java/JavaFX降级为8,或使用TornadoFX 2.0.0-SNAPSHOT运行,该软件可从oss.sonatype.org获得。此版本支持Java/JavaFX13。谢谢!将build.gradle从1.7.19改为在buildscript中使用ext.tornadofx_version=2.0.0-SNAPSHOT,现在可以使用了。