swing - Java statement causes a mouseClick to be a mouseRelease for MouseListener in Jpanel -


i have added mouse listener jpanel in following way. outputed jpanel image painted on screen array of images.

public class newframe extend jframe {     public new jframe() {          statusbar = new jlabel("mouse outdide panel"); //displays events mouse         add(statusbar,borderlayout.south); //add jframe         mousehandler handler = new mousehandler();          jpanelmap.addmouselistener(handler); //add both mouse listeners jpanel         jpanelmap.addmousemotionlistener(handler); } private class mousehandler implements mouselistener,         mousemotionlistener     {         public void mouseclicked(mouseevent event) {              statusbar.settext( string.format( "clicked @ [%d, %d]",                 event.getx() , event.gety() ) );             int x = event.getx();             int y = event.gety();              mapobject.updatedockorship(x, y,text); //updates selected icon on screen         }          public void mousepressed(mouseevent event) {         }          public void mousereleased(mouseevent event) {             statusbar.settext( string.format( "released @ [%d, %d]",                 event.getx() , event.gety() ) );             int x = event.getx();             int y = event.gety();              /*this troublemaker, if delete line "clicks"               work everywhere on jpanel. if leave in,                clicks work in areas of jpanel, , other legitimate clicks               recognized mousereleased in different area of jpanel             */              mapbject.checkdocks(x,y,tempint); //trouble          }         public void mouseentered( mouseevent event )         {         }           public void mouseexited( mouseevent event )         {         }          public void mousedragged( mouseevent event )         {          }          public void mousemoved( mouseevent event )         {          }       } } 

i have highlighted troubling statement in code given. implement line portions of map clickable click , other portions not clickable though still same click. think mouse click mouse click no matter click mouse listener or assuming wrong or missing something. behavior of mouse click seems change when statement implemented mousereleased action dont understand why .

i'm not sure if source of problems, since i'm not sure code does, looks potential problem:

you should use mousepressed method override , not mouseclicked if paired activity tied mousereleased. mouseclicked method means mouse has been pressed , released on same spot, , touchy , won't called if move mouse, slightly, between clicking , releasing. mousepressed on other hands responds on mousepressed, sounds want.

so perhaps:

private class mousehandler extends mouseadapter {     @override     public void mousepressed(mouseevent event) {          statusbar.settext( string.format( "pressed @ [%d, %d]",             event.getx() , event.gety() ) );         int x = event.getx();         int y = event.gety();          mapobject.updatedockorship(x, y,text); //updates selected icon on screen     }      @override     public void mousereleased(mouseevent event) {         statusbar.settext( string.format( "released @ [%d, %d]",             event.getx() , event.gety() ) );         int x = event.getx();         int y = event.gety();          /*this troublemaker, if delete line "clicks"           work everywhere on jpanel. if leave in,            clicks work in areas of jpanel, , other legitimate clicks           recognized mousereleased in different area of jpanel         */          mapbject.checkdocks(x,y,tempint); //trouble      }      // since extends mouseadapter, other methods not needed }