java - 如何将数据传递到 linkki-framework 中的表?

标签 java linkki

我想创建一个带有 linkki framework 的表在我的应用程序中。我知道我可以使用 ContainerPmo 类来定义表,但是如何传递数据以显示为行?

最佳答案

首先,如果您有一个带有 UI <-> PMO <-> DomainModel 的经典 linkki 设置,那么使用 SimpleTablePmo 会更容易。而不是 ContainerPmo。它包装了 ItemSupplier,这样您只需调用 super 构造函数并实现一个方法。

如果您选择使用SimpleTablePmo ,您只需将域模型对象列表传递给 SimpleTablePmo 实现的构造函数即可。如果在显示表格时列表内容会发生变化,请考虑使用 Supplier<List<DMO>>而不是简单地提供一个列表。

对于列表中的每个域模型对象,都会使用 createRow(...) 创建一个新的表示模型对象 (PMO)。 。因此这个方法也必须实现。在大多数情况下,此方法非常简单

protected AnyPmo createRow(AnyDmo m) {
    return new AnyPmo(m);
}

在每次 UI 更新时,绑定(bind)都会检查模型元素列表(在第二种情况下调用供应商来获取列表)。如果列表未更改(相同的对象仍然以相同的顺序存在),则绑定(bind)仅更新现有字段的内容。如果列表发生更改,它将删除所有行并使用 createRow` 创建新的 pmos。

关于java - 如何将数据传递到 linkki-framework 中的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48404171/

相关文章:

java - 如何在多列 linkki 部分中跨越多列

java - NPE 引起的 Mockito ExceptionInInitializerError

java - 如何在 TextView 中显示 .java 文件?

java - 在启动时获取正确的 Id 小部件

java - 如果 catch 语句返回,那么为什么它最终会阻塞?

java - 使用 Tesseract (Tess4J) 识别彩色文本