2

我想在 SWT 中将所有事件从一个小部件转发到另一个小部件。是否有可能做到这一点?

为了记录:
我有一个针对深色背景设置的复选框小部件。在 Windows 上,无法实际设置按钮标签的颜色,Windows 使用黑色,使我的复选框难以辨认。因此,我的解决方案是创建一个没有标签的复选框,并在其旁边放置一个标准 SWT 标签。这很好用,直到我尝试点击标签。预期的行为是标签上的单击/悬停与复选框上的单击/悬停相同。

4

2 回答 2

1

我建议您在paintListener复选框中添加一个,并在其paintControl方法上用您想要的颜色在原始文本的相同位置重绘文本。

这样,您将无需处理额外的小部件。

编辑:正如您所说,这PaintListener不是一个选项,那么我建议您将要转发到复选框的所有事件添加到标签侦听器中。

在复选框上,添加相同的侦听器(不是相同的实例,相同的类型)。

最后,在添加到标签的侦听器上,只需执行

yourCheckBox.notifyListeners( eventType, event );
于 2012-06-12T19:43:33.850 回答
0

您不能只创建一个侦听器实例并将其添加到两个小部件中吗?

于 2012-06-13T11:58:03.657 回答