Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin 使用TornadFX双击处理listview_Kotlin_Tornadofx - Fatal编程技术网

Kotlin 使用TornadFX双击处理listview

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

我想处理双击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的建筑物。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,现在可以使用了。