像java内置提供一事件(如MouseEvent)那样,在系统开发过程也会遇到这样的需求,需要为系统自定义一些特殊的事件.在某个条件下激发.
在JAVA中这种功能如何实现?
在JAVA中这种功能如何实现?
解决方案 »
- 一个关数组元素匹配的问题
- 自己结合网上资料写的一个java图像灰度化程序,编译可以通过,但运行不行,请大家帮忙修改一下!谢谢!
- 这个错误是什么意思啊?spring 的问题555555555555555
- Unix下weblogic里用JFreeChart
- 从C\C++到Java
- 一些小问题 刚学java请大家帮助
- 格式化输入类,一些不懂请教各位,格式化输入类,一些不懂请教各位,格式化输入类,一些不懂请教各位,
- 还望Java高人给小生一些启迪……
- 在JB6的Application中,为什么AWT组中只找到复选框(checkbox)而找不到单选框(radiobutton)?
- 主 题: 高分求助:java调用dll的传参问题
- 读取网络文件问题
- 关于服务器连接出错的问题
interface PointChangeListener extends java.util.EventListener{
public void Changed(PointChangeEvent e);
}class PointChangeEvent extends java.util.EventObject{
private Point x; PointChangeEvent(Point x){
super(x);
this.x = x;
} public Object getSource() {
return x;
} public Point getPoint(){
return this.x;
}
}
class Point implements PointChangeListener{
private int x,y;
Point(int x,int y){
this.x = x;
this.y = y;
} public void setX(int x){
this.x = x;
this.Changed(new PointChangeEvent(this));
}
public void setY(int y){
this.y = y;
this.Changed(new PointChangeEvent(this));
} public void Changed(PointChangeEvent e){
System.out.println(e.getPoint().x);
System.out.println(e.getPoint().y);
}}class EventUsed{
public static void main(String[] args){
Point p = new Point(1,2);
p.setX(3);
}
}我感觉上面的程序并没有实际让事件处理方法与激发事件的方法分离,这样的话我就不太理解了。
如果什么都一个类自己做而且做的都还是直接关系自己的属性的话 ,
用监视器至少在这个例子中是多此一举.一般听众可以用集合来表示,更好地表达出 Point 并不知道有多少人关注它, 在属性改变时它只管
广播事件( 对注册了的监视器都逐一通知 ), 以便更好地分离出事件监视器的职责.