当前位置: 首页 > 知识库问答 >
问题:

未调用TornadoFX TreeView单元工厂

邢骏
2023-03-14

这与我之前的问题有关。

class CenterView : View() {
    override val root = TreeView<IStoryItem>()
    init {
        with(root) {
            root = TreeItem(controller.storySet)

            setCellFactory {
                object : StoryEditorCell() {
                    init {
                        System.out.println("Creating StoryEditorCell")
                        onDragDetected = EventHandler {...}
                        onDragOver= EventHandler {...}
                        onDragEntered= EventHandler {...}
                        ...
                    }
                }
            }
            cellFormat { ... }
            populate { ... }
        }
    }
}

单元格格式正确,TreeView填充正确,因此该部件工作正常。要使细胞工厂正确还需要做什么?

共有1个答案

晏望
2023-03-14

调用CellFormat实际上创建了CellFactory,因此它将有效地覆盖自定义工厂的配置,因此回调不会附加到TreeView中使用的单元格。

如果手动调用SetCellFactory,则必须避免使用CellFormat,而是重写单元格内部的UpdateItem,以配置单元格的文本和图形。

我研究了如何实现对DND的自定义支持,这样您就可以将CellFormat与DND结合起来,而不必创建自定义单元格工厂,但不幸的是,我现在没有时间开始这项工作。如果您觉得当前的方法很麻烦,请在GitHub上创建一个问题,我们将尽快讨论这个问题:)

同时,删除对CellFormat的调用,您应该很好:)记住重写UpdateItem的规则:调用super,清除text/graphic,如果!empty并且您有一个值,分配给text和/或graphic。

另外,不要执行ondragdetected=EventHandler{...},而是执行setondragdetected{...}

 类似资料:
  • 我不熟悉单元测试。参考google之后,我创建了一个测试类来测试我的控制器,如下所示: 我有以下控制器和服务类: 当我调试单元测试时,控制器中的p对象为null。我的状态是200,但不是预期的JSON响应 我错过了什么?

  • 我正在尝试测试我的PreUpdateEventListener流,但我似乎无法使其在JUnit测试中工作。我没有收到任何错误,但没有调用代码。 我的PreUpdateEventListener: 测试: 我曾尝试将SessionFactory注入测试并调用SessionFactory#flush方法,但这不会引发CurrentContextSession错误,我似乎无法修复。

  • 晚安, 我正在对我的服务进行一些测试,在删除方法中执行测试时遇到了问题。 我想知道是否有人犯过这个错误,可以帮助我。 我扫描时出错。据报道,该方法没有使用。 例外情况: 代码:

  • 我正在进行一个spring-boot项目,其中我有一个控制器,它调用服务方法并处理输出。 我正在使用spring MockMvc测试web层。在我的测试类中,我用Mockito.when()模拟了服务方法。但是当我调用相应的处理方法时,它不是调用被模仿的服务方法,而是返回一个空响应。 控制器 测试类 返回的响应是 请帮我解决这个问题。提前谢谢!

  • 我将设置为常量,设置为 但表视图单元格仍未调整为我的单元格的详细信息文本标签的大小。我哪里出错了? UITableViewCell类:

  • 我从原来的ActionBar更改为AppCompat Toolbar和setSupportActionBar(工具栏)。当我使用getSupportActionBar()和setDisplayHomeAsUpEnable(true)作为后箭头时,单击永远不会调用onOptionsItemSelected或任何其他侦听器方法。 我必须为它实现一些特殊的侦听器吗?在一切顺利之前。 编辑:初始化操作栏: