【问题标题】:SWT: Proper handling of Lost/Gained Focus in Custom ControlsSWT:在自定义控件中正确处理丢失/获得焦点
【发布时间】:2010-06-03 07:27:17
【问题描述】:

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

这按预期工作。

问题
但是我们遇到了 focusLost 和 focusGained 的问题。
最终,我希望任何外部组件在 any 自定义部分获得焦点时获得 focusGained 并且仅在任何部分失去焦点时抛出 focusLost 并且没有其他部分获得关注。

当焦点仅从文本移动到自定义控件内的按钮时,我想避免处理 focusLost 和 focusGained。

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

【问题讨论】:

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


    【解决方案1】:

    简单地说,没有办法确定哪个控件从focusLost() 中获得了焦点。

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

    换句话说,很遗憾没有 API 函数可以为您执行此操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多