SWT API 中的SWT 常量列表提供了两种非常相似的事件类型(用于各种事件侦听器):
有什么不同?不是所有的“Show”事件都需要“Paint”事件,所有“Paint”事件都需要“Show”事件吗?
根据此页面:
显示:
小部件变得可见
画:
一个控件被要求绘制
所以主要区别如下:
SWT.Show
一旦Widget
变得可见就会被调度。SWT.Paint
每当Widget
状态改变时被调用,即当它必须被重绘时。例如,当它被调整大小或内容发生变化时。
回答你的最后一个问题。每个Show
事件都与 a 耦合Paint
,但并非每个事件都与 aPaint
耦合Show
。
要查看它是如何工作的,只需将两个Listener
s 附加到Shell
刚刚打印出来的 a 上,"Show"
或者"Paint"
查看它们何时被触发。