обрабатывать список двойным щелчком мыши с помощью tornadofx - PullRequest
0 голосов
/ 31 октября 2019

Я хочу обработать двойной щелчок на просмотре списка 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.

1 Ответ

1 голос
/ 31 октября 2019

Звучит так, будто вы пытаетесь запустить TornadoFX 1 с JDK / JavaFX новее, чем 8. Пожалуйста, понизьте Java / JavaFX до 8, или запустите TornadoFX 2.0.0-SNAPSHOT, который доступен на oss.sonatype.org. Эта версия поддерживает Java / JavaFX 13.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...