【发布时间】:2014-10-19 14:03:00
【问题描述】:
假设我的自定义渲染需要很长时间。我可以通过什么方式在后台渲染单元格?可能我需要在某个单元格变得可见时接收事件,然后在单独的线程中渲染它,然后实际绘制。
如何做到这一点?
更新
我知道渲染应该很快。但在我的情况下不是这样。因此,我需要在表示和模型之间增加一层,其中将包含某种缓存。例如,预渲染单元格的图像。问题是如何将这一层与对象挂钩。
【问题讨论】:
-
你可以使用 SwingWorker 来创建图像,并让它返回一个 Image 或一个 Renderer 使用的 Icon,但在大多数情况下,魔鬼存在于细节中。如果您需要更具体的帮助,请先告诉我们更多细节并向我们展示您的相关代码,最好是minimal example program or MCVE。
-
目前我已经有一个模型。并且绘制这个模型条目需要很长时间。这是事实。我不会重构什么模型只是为了加快渲染速度,因为模型不应该包含视觉部分。
-
This example 使用
SwingWorker复制文件,并在JTable中显示进度,它可能会提供一些想法
标签: java swing jtable backgroundworker custom-renderer