@Override final public void mouseReleased(MouseEvent e){
  if (isComponentPressedDown) {
    mouseLiberalClick(e);
    long now=System.currentTimeMillis();
    long timeBetweenUnusedClicks=now - lastUnusedLiberalSingleClickTimeStamp;
    if (timeBetweenUnusedClicks <= slowestDoubleClickMilliseconds) {
      mouseLiberalDoubleClick(e);
      lastUnusedLiberalSingleClickTimeStamp=0;
    }
 else {
      lastUnusedLiberalSingleClickTimeStamp=System.currentTimeMillis();
    }
  }
  isComponentPressedDown=false;
  mouseRelease(e);
}

@ Override final public void mouseReleased ( MouseEvent e ) { if ( isComponentPressedDown ) { mouseLiberalClick ( e ) ; long now = System . currentTimeMillis ( ) ; long timeBetweenUnusedClicks = now - lastUnusedLiberalSingleClickTimeStamp ; if ( timeBetweenUnusedClicks <= slowestDoubleClickMilliseconds ) { mouseLiberalDoubleClick ( e ) ; lastUnusedLiberalSingleClickTimeStamp = 0 ; } else { lastUnusedLiberalSingleClickTimeStamp = System . currentTimeMillis ( ) ; } } isComponentPressedDown = false ; mouseRelease ( e ) ; }
mousereleased , final function . handles mouse released events . this function also detects liberal single clicks , and liberal double clicks .
