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