java swt 的问题 1
swt部分无类型监听器ListenerTextListener=newListener(){publicvoidhandleEvent(Eventevent){});te...
swt 部分 无类型 监听器
Listener TextListener = new Listener(){
public void handleEvent(Event event) {
});
text.addListener(SWT.Modify, TextListener);
text_1.addListener(SWT.Modify, TextListener);
text_2.addListener(SWT.Modify, TextListener);
其中 这3个 控件 有一个 触发 就会 执行 这个 监听器
在有事件的 时候 怎么样才能 获取 是哪个控件 执行的 展开
Listener TextListener = new Listener(){
public void handleEvent(Event event) {
});
text.addListener(SWT.Modify, TextListener);
text_1.addListener(SWT.Modify, TextListener);
text_2.addListener(SWT.Modify, TextListener);
其中 这3个 控件 有一个 触发 就会 执行 这个 监听器
在有事件的 时候 怎么样才能 获取 是哪个控件 执行的 展开
展开全部
Listener TextListener = new Listener(){
public void handleEvent(Event event) {
//如果需要取是哪种控件触发的,如 是不是Text类型触发的
if(event.widget instanceof Text)
{
Text text = (Text) e.widget;
System.out.println(text.getText());
}
/*
看你的意思好像是要判断是text还是text_1或text_2哪个来触发的该事件
拿对象来取出引用名称是不可能的,还好SWT控件有个setData(Object o)方法,使用这个你可以变相取出
先保存引用名称如 text_1.setData("text_1");
在这个事件中可以这么用:
*/
String variableName = (String)event.widget.getData();
System.out.println("触发这个事件的对象引用名称:" + variableName);
//P.S. 不知道你为什么这样用? 我给你的例子只是实现这种方式 。但不建议实际中这么写
});
text.addListener(SWT.Modify, TextListener);
text_1.addListener(SWT.Modify, TextListener);
text_2.addListener(SWT.Modify, TextListener);
public void handleEvent(Event event) {
//如果需要取是哪种控件触发的,如 是不是Text类型触发的
if(event.widget instanceof Text)
{
Text text = (Text) e.widget;
System.out.println(text.getText());
}
/*
看你的意思好像是要判断是text还是text_1或text_2哪个来触发的该事件
拿对象来取出引用名称是不可能的,还好SWT控件有个setData(Object o)方法,使用这个你可以变相取出
先保存引用名称如 text_1.setData("text_1");
在这个事件中可以这么用:
*/
String variableName = (String)event.widget.getData();
System.out.println("触发这个事件的对象引用名称:" + variableName);
//P.S. 不知道你为什么这样用? 我给你的例子只是实现这种方式 。但不建议实际中这么写
});
text.addListener(SWT.Modify, TextListener);
text_1.addListener(SWT.Modify, TextListener);
text_2.addListener(SWT.Modify, TextListener);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询