awt编成中,我想实现简单的绘图功能,比如画直线,方形等等.
在注册监听器的时候, MouseAdapter 只能监听鼠标按下事件, MouseMotionAdapter 只能监听鼠标移动事件.
现在我想处理这些所有的事件, 只能把2个监听器都注册进去.这样我觉得很不方便.
后来我发现javax.swing里有MouseInputAdapter 它继承了上面2个接口, 可以监听所有的事件.我非常高兴.
可是高兴得太早,现在遇到的问题是: 找不到相应的 .addXXXListener()进行注册. addMouseListener() 和 addMouseMotionListener() 都不能完全达到效果.
想找个.addMouseInputListener() 却找不到. 难道这是java的设计缺陷?
请达人指点.
在注册监听器的时候, MouseAdapter 只能监听鼠标按下事件, MouseMotionAdapter 只能监听鼠标移动事件.
现在我想处理这些所有的事件, 只能把2个监听器都注册进去.这样我觉得很不方便.
后来我发现javax.swing里有MouseInputAdapter 它继承了上面2个接口, 可以监听所有的事件.我非常高兴.
可是高兴得太早,现在遇到的问题是: 找不到相应的 .addXXXListener()进行注册. addMouseListener() 和 addMouseMotionListener() 都不能完全达到效果.
想找个.addMouseInputListener() 却找不到. 难道这是java的设计缺陷?
请达人指点.
addMouseListener(l);
addMouseMotionListener(l);
MouseInputAdapter l=....
addMouseListener(l);
addMouseMotionListener(l);
---------------------------------------------------------------------------
多谢提醒,这个方法可以. 我以前是写成匿名类的形式,现在写成内部类就可以了.
不过用起来还是感觉怪怪的. 需要add两次.