我想处理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软件包11.0.2+1-1~18.04.2。
发布于 2019-10-31 16:26:29
听起来您正在尝试使用JDK/JavaFX运行TornadoFX 1,比8更新。请将TornadoFX /JavaFX降级为8,或者使用oss.sonatype.org提供的TornadoFX 2.0.0-快照运行。此版本支持Java/JavaFX 13。
https://stackoverflow.com/questions/58645693
复制相似问题