SWT通过从底部增加大小并从顶部减少数量,在有限的画布上动态绘制大量数据

时间:2011-11-18 11:50:14

标签: swt eclipse-gef draw2d

我想在draw2d figurecanvas上绘制很多数字。图像消耗大量内存。我希望它们在画布上连续绘制,但由于内存问题而无法实现。现在我想绘制它们的方式,当我向下滚动时,画布应该扩展为底部的x像素(高度)量,同时应该在那里绘制新数据,某些部分说x像素(高度) )应该从画布的顶部删除。我通过设置画布的边界来尝试这个但是这不会有任何区别,因为设置边界只会将画布的位置与其数据一起移动到新位置

1 个答案:

答案 0 :(得分:1)

FigureCanvas有几种方法可以通过编程方式滚动(scrollTo(..)scrollToX(..)等。这将改变您内容的可见区域,这听起来就像您在问题的后半部分所需要的那样。但我不认为你认为这会对你的记忆问题有所帮助。它不会减少内存中图形对象的数量。

使用Draw2d,您可以使用图形描述整个图形内容(不仅仅是当前可见的部分),而FigureCanvas会自动绘制当前在其视口中可见的部分。您不会根据画布中当前可见的内容添加或删除数字。