java - MouseAdapter methods - why `mouseDragged`, `mouseMoved` and `mouseWheelMoved` included? -


my goal simplify code (all works fine):

package test;  import java.awt.window; import java.awt.event.mouseevent; import java.awt.event.mouselistener; import java.awt.event.mousemotionlistener; import javax.swing.jwindow;  public class extends jwindow implements mouselistener, mousemotionlistener {      public a() {         addmouselistener(a.this);         addmousemotionlistener(a.this);     }      @override     public void mouseclicked(mouseevent e) {     }      @override     public void mousepressed(mouseevent e) {         //this method being used, working fine     }      @override     public void mousereleased(mouseevent e) {     }      @override     public void mouseentered(mouseevent e) {     }      @override     public void mouseexited(mouseevent e) {     }      @override     public void mousedragged(mouseevent e) {         //this method being used, working fine     }      @override     public void mousemoved(mouseevent e) {     } } 

but if decide use mouseadapter this:

addmouselistener(new mouseadapter() {     @override     public void mousepressed(mouseevent e) {         transferfocusbackward();         //this method being used, working fine     }      @override     public void mousedragged(mouseevent e) {         //this method being used, not working anymore     } }); 

mousedragged receiving no events. if add mousemotionlistener this:

addmouselistener(new mouseadapter() {     @override     public void mousepressed(mouseevent e) {         //this method being used, working fine     } });  addmousemotionlistener(new mousemotionadapter() {     @override     public void mousedragged(mouseevent e) {         //this method being used, working fine     } }); 

then backs normal. question - purpose of mousedragged, mousemoved , mousewheelmoved methods in mouseadapter class if not work?

ok, think understand now: in mouseadapter class documentation said "create listener object using extended class , register component using component's addmouselistener, addmousemotionlistener, addmousewheellistener methods". looks like:

private class mouselisteners extends mouseadapter {      @override     public void mousepressed(mouseevent e) {         //this method being used, working fine     }      @override     public void mousedragged(mouseevent e) {         //this method being used, working fine     } } 

and then:

mouselisteners listeners = new mouselisteners();    addmouselistener(listeners); addmousemotionlistener(listeners); 

now ok.


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -