【问题标题】:Nattable Cell with Multiple combination of images具有多种图像组合的 Nattable Cell
【发布时间】:2018-08-07 21:42:43
【问题描述】:

我们需要可视化细胞的状态。

每个单元格代表用户的 DB CRUD 访问权限,因此每个单元格都有四个布尔标志,用于创建、读取、更新和删除。为了可视化,每个单元格应显示四个图像,每个图像显示该标志的状态。

我们定义了 8 个标签(CREATE、NO_CREATE、READ、NO_READ 等)并根据底层模型添加这些标签。所以在任何时候,每个单元格都会有 4 个标签。我们希望在每个单元格中显示 4 个图像,每个图像显示相应标志的状态。

根据研究和 Dirk 的建议,CellDecoratorPainter 是首选方法。但是每个带有标签的单元格都与一个单元格画家(在本例中为 CellDecoratorPainter)相关联,那么我们如何使用它来渲染这些图像的组合呢?

我能想到的一种方法是,不要为 READ、NO_READ 等创建单独的标签,而是创建 READ_CREATE_UPDATE_DELETE、NO_READ_CREATE_UPDATE_DELETE 等 4x4x2 标签,并将这些标签中的每一个与一个单元格画家装饰器相关联,以相应地绘制一系列图像。

不确定这是否是唯一可能的方法。如果你们中的任何人遇到这种情况,您能分享一些想法吗?

PS:这发布在 Eclipse 论坛https://www.eclipse.org/forums/index.php/m/1782700/#msg_1782700

【问题讨论】:

  • 为什么要投反对票?这是一个有效的问题,除非您另有说明。

标签: nattable


【解决方案1】:

建议我们使用自定义图像画家来实现这一点,如https://www.eclipse.org/forums/index.php/m/1782739/#msg_1782739 中所述。

响应片段是

您可以实现一个自定义 ImagePainter 来检查单元格 标签并根据标签堆栈中的标签绘制图像。要么 堆栈 CellPainterDecorators 以便每个装饰器都有一个图像 仅在单元格标签的情况下绘制的装饰,并且具有 另一位装饰师作为基础画家。

但老实说,编写一个自定义的 ImagePainter 来检查标签并在标签出现时绘制图像似乎更 直观。

我们实现了 CombinationImagePainter 来实现这一点,如果您有兴趣,可以通过 https://gist.github.com/brsanthu/cd2f91da7777aa994e011f7acedd900a 获得。

【讨论】:

    【解决方案2】:

    我们有类似的要求,即在开始和结束时显示图像。几乎与您展示的方式一样,但是我们扩展了 AbstractTextPainter 类并根据它编写了实现。

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 2016-01-11
      • 1970-01-01
      • 1970-01-01
      • 2020-07-18
      • 2015-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多