SWT:正确处理自定义控件中的丢失/获得焦点

时间:2010-06-03 07:27:18

标签: focus custom-controls swt setfocus lost-focus

我们的控制
我有一个Combobox / DropDownList的自定义SWT实现 这是作为包含文本和按钮的复合实现的 显示列表时,我们使用List控件放在所有内容的顶部,并定位在Text和Button上。

这可以按预期工作。

问题
但是我们遇到了focusLost和focusGained的问题 最终我希望任何外部组件在 任何 部分自定义增益焦点时获得焦点,并且只在焦点从任何部分丢失时抛出focusLost < em>和 没有其他部分可以获得关注。

我希望避免在我的自定义控件中将焦点从文本移动到按钮时处理focusLost和focusGained。

有人知道要知道的一个API, focusLost期间,焦点会落在哪里?
有谁知道如何以任何方式实现这一点?

1 个答案:

答案 0 :(得分:2)

简单地说,无法确定哪个控件已从focusLost()中获得焦点。

我建议将FocusListener添加到复合中的每个控件(您可以通过迭代getChildren()自动执行此操作)并使用公共字段跟踪焦点对象。

换句话说,遗憾的是没有API功能可以帮助您。