我想在 SWT 中将所有事件从一个小部件转发到另一个小部件。是否有可能做到这一点?
为了记录:
我有一个针对深色背景设置的复选框小部件。在 Windows 上,无法实际设置按钮标签的颜色,Windows 使用黑色,使我的复选框难以辨认。因此,我的解决方案是创建一个没有标签的复选框,并在其旁边放置一个标准 SWT 标签。这很好用,直到我尝试点击标签。预期的行为是标签上的单击/悬停与复选框上的单击/悬停相同。
我建议您在paintListener
复选框中添加一个,并在其paintControl
方法上用您想要的颜色在原始文本的相同位置重绘文本。
这样,您将无需处理额外的小部件。
编辑:正如您所说,这PaintListener
不是一个选项,那么我建议您将要转发到复选框的所有事件添加到标签侦听器中。
在复选框上,添加相同的侦听器(不是相同的实例,相同的类型)。
最后,在添加到标签的侦听器上,只需执行
yourCheckBox.notifyListeners( eventType, event );
您不能只创建一个侦听器实例并将其添加到两个小部件中吗?