【发布时间】:2015-03-30 07:13:43
【问题描述】:
如何唯一地识别 SWT 应用程序中的控件?某些控件起初可能处于非活动状态,但后来被激活。有没有办法为所有控件识别和分配唯一 ID?
【问题讨论】:
如何唯一地识别 SWT 应用程序中的控件?某些控件起初可能处于非活动状态,但后来被激活。有没有办法为所有控件识别和分配唯一 ID?
【问题讨论】:
您可以使用setData 和getData 方法将任意数据与控件关联:
control.setData("id key", "control id");
String id = (String)control.getData("id key");
【讨论】:
Display.addFilter 监听SWT.Activate 事件以查看新的shell,但此时shell 中的控件可能尚未创建。
每个 SWT 小部件 (org.eclipse.swt.widgets.Widget) 都有:
获取数据
public Object getData(String key)
返回具有指定名称的接收器的应用程序定义属性, 如果尚未设置,则为 null。 应用程序可能已将任意对象与此接收器相关联 时尚。如果存储在属性中的对象需要被通知时 小部件被释放,应用程序负责挂钩 Dispose 小部件上的事件并执行此操作。
您可以将其与public void setData(String key, Object value) 结合使用
【讨论】: