JAVA自定义事件监听完整例子---sunfruit[转]
2015-06-12 09:29
351 查看
http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece763105392230e54f733628a854d2c90c05f93130716017bb2e1707e4e5f8099297a52ef0f07bbae61332a032ab59bc2835dddccc86e70d633712d5cd04e4a805dfcdc4654d651e34d98af0e97cbe746e4b9d3a3c82551dd27736df6f59c2c01&p=90769a478e9711a05bed90665907bb&newp=9877c54ad5c345f32aa5c7710f0c9d231610db2151d4d51323a6db&user=baidu&fm=sc&query=java+%CA%C2%BC%FE%C0%FD%D7%D3&qid=b67957270000b424&p1=10
public class DemoEvent extends EventObject
package demo;
import java.util.EventListener;
package demo;
import java.util.*;
package demo;
import java.lang.Thread;
public class TestDemo
implements DemoListener private DemoSource ds;
public TestDemo()
ds=new DemoSource();
ds.addDemoListener(this);
System.out.println("添加监听器完毕");
try Thread.sleep(3000);
//改变属性,触发事件
ds.setName("改变属性,触发事件");
}
catch (InterruptedException ex) ex.printStackTrace();
}
ds.addDemoListener(this);
System.out.println("添加监听器完毕2");
try Thread.sleep(3000);
//改变属性,触发事件
ds.setName("改变属性,触发事件2");
}
catch (InterruptedException ex) ex.printStackTrace();
}
ds.removeDemoListener(this);
System.out.println("添加监听器完毕3");
try Thread.sleep(3000);
//改变属性,触发事件
ds.setName("改变属性,触发事件3");
}
catch (InterruptedException ex) ex.printStackTrace();
}
}
public static void main(String args[])
new TestDemo();
}
/** *//**
* demoEvent
*
* @param dm DemoEvent
* @todo Implement this test.DemoListener method
*/
public void demoEvent(DemoEvent dm) System.out.println("事件处理方法");
System.out.println(dm.getName());
dm.say();
}
}
public class DemoEvent extends EventObject
package demo;
import java.util.EventListener;
package demo;
import java.util.*;
package demo;
import java.lang.Thread;
public class TestDemo
implements DemoListener private DemoSource ds;
public TestDemo()
ds=new DemoSource();
ds.addDemoListener(this);
System.out.println("添加监听器完毕");
try Thread.sleep(3000);
//改变属性,触发事件
ds.setName("改变属性,触发事件");
}
catch (InterruptedException ex) ex.printStackTrace();
}
ds.addDemoListener(this);
System.out.println("添加监听器完毕2");
try Thread.sleep(3000);
//改变属性,触发事件
ds.setName("改变属性,触发事件2");
}
catch (InterruptedException ex) ex.printStackTrace();
}
ds.removeDemoListener(this);
System.out.println("添加监听器完毕3");
try Thread.sleep(3000);
//改变属性,触发事件
ds.setName("改变属性,触发事件3");
}
catch (InterruptedException ex) ex.printStackTrace();
}
}
public static void main(String args[])
new TestDemo();
}
/** *//**
* demoEvent
*
* @param dm DemoEvent
* @todo Implement this test.DemoListener method
*/
public void demoEvent(DemoEvent dm) System.out.println("事件处理方法");
System.out.println(dm.getName());
dm.say();
}
}
相关文章推荐
- EasyUI DataGrid根据字段动态合并单元格
- 将UITableView封装到极致
- php调用empty出现错误Can't use function return value in write context
- 【转】Web Service单元测试工具实例介绍之SoapUI
- UIViewController之间的相互跳转
- requestAnimationFrame,Web中写动画的另一种选择
- Windows 10 build 10136 手机版下周开始测试
- Win10 build 10130今日迎来三个安全更新
- 跳出手掌心--如何立即触发UIButton边界事件
- UESTC_方老师和农场 2015 UESTC Training for Graph Theory<Problem L>
- UESTC_王之盛宴 2015 UESTC Training for Graph Theory<Problem K>
- UESTC_小panpan学图论 2015 UESTC Training for Graph Theory<Problem J>
- UESTC_排名表 2015 UESTC Training for Graph Theory<Problem I>
- UESTC_韩爷的情书 2015 UESTC Training for Graph Theory<Problem H>
- UESTC_Big Brother 2015 UESTC Training for Graph Theory<Problem G>
- UESTC_传输数据 2015 UESTC Training for Graph Theory<Problem F>
- UESTC_树上的距离 2015 UESTC Training for Graph Theory<Problem E>
- UESTC_邱老师的脑残粉 2015 UESTC Training for Graph Theory<Problem D>
- UESTC_秋实大哥与时空漫游 2015 UESTC Training for Graph Theory<Problem C>
- UESTC_秋实大哥带我飞 2015 UESTC Training for Graph Theory<Problem B>