SWT PaintEvent来自何处以及如何影响它

时间:2010-10-04 14:49:48

标签: java eclipse swt

我正在尝试使用PaintListeners绘制并使用SWT制作动画。我想影响动画的时间,所以我看了很远但没有找到任何解释生成PaintEvents的位置和方式以及如何影响它的内容,例如强制执行帧速率或仅发送PaintEvent to cetrain Widgets。

那么,怎么做呢?而且,这应该完成吗? - 对该主题一无所知表明可能有更好的方法。

1 个答案:

答案 0 :(得分:3)

每次需要时,SWT都会为您生成PaintEvents。例如,第一次显示窗口小部件或窗口小部件移动后窗口小部件再次变为可见之后。

您可以使用以下方法强制在控件上发生绘制事件:

control.redraw();
control.update();

见这里:http://help.eclipse.org/helios/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/widgets/Control.html#redraw()