当有自定义控件时,例如通过addPaintListener(PaintEvent)在控件上绘制些图形或文字,当内容变化时需要告诉控件去重新绘制。
redraw()方法
告诉控件,重新绘制,调用者不会等待,异步方法。
update()方法
仅在必要时,会触发redraw()方法。这是个同步方法,调用者会等待控件更新完毕。
注意:
直接调用update()方法,没有任何反应,即使控件要绘制的内容变化了。要先调用parent.layout(),update()才会触发redraw()方法。
总结
redraw()更好用,如果控件大小会变化,就先调用parent.layout()一下。
- control.getParent().layout();
- redraw();