- 我正在创建一个显示信息表的 GWT 应用程序。
- 表格的每一行对应一个数据对象。
- 在表格的每一行中,都有一个必须动态生成的图像(图像是与行关联的对象的一个相当简单的函数。)
- 重申一下,预先生成涵盖桌子所需所有内容的静态图像世界是不可接受的。所需的图像集是无限的。
在 Canvas 小部件中生成任何一张图像都很容易,但是:
- 我更喜欢使用 CellTable,因为可能要显示数百行。
- CellTable 不允许在单元格中使用像 Canvas 这样的小部件。
- 无论如何,在客户端绘制 100 个 Canvas 似乎很昂贵。
我想知道这种情况是否有既定的有效模式?我正在考虑以下内容(但我不确定它是否可行——见下文):
- 每当 CellTable 更新时,客户端都会进行 RPC 调用——例如“ getDynamicImageBundle(List<MyDataObject> objects) ”,
- getDynamicImageBundle() 的返回值应该是单个合成图像,从中可以轻松提取每个组件图像。
- 提取的图像用于填充 CellTable 的动态图像列。
我的问题如下:
- 第一个问题是“这根本不可能吗”:即,如果 CellTable 中的 Cell 的工作是生成 HTML,而动态生成的图像是一大块与任何 URL 无关的二进制数据,确实如此这意味着我根本不能在这里使用 CellTable 吗?
- 更一般地说,我是否必须“破解” GWT 以将这些动态图像与一些虚构的 URL 相关联,以便让任何东西在这里工作?还是使用画布?
- 如果我上面的高级行动计划(涉及 RPC 调用)实际上是可行的,那么是否有人有指向 GWT 类的指针可以在这里提供帮助?看起来像 ImageResource 这样的组件是围绕静态图像集构建的。