@ Override final public void mouseReleased ( MouseEvent e ) { // Check to see if this mouse release completes a liberal single click. if ( isComponentPressedDown ) { // A liberal single click has occurred. mouseLiberalClick ( e ) ; // Check to see if we had two liberal single clicks within the double click time window. long now = System . currentTimeMillis ( ) ; long timeBetweenUnusedClicks = now - lastUnusedLiberalSingleClickTimeStamp ; if ( timeBetweenUnusedClicks <= slowestDoubleClickMilliseconds ) { // A liberal double click has occurred. mouseLiberalDoubleClick ( e ) ; // Mark the single click timestamp as "used" by this double click. lastUnusedLiberalSingleClickTimeStamp = 0 ; } else { // Save the single click timestamp as part of a possible future double click. lastUnusedLiberalSingleClickTimeStamp = System . currentTimeMillis ( ) ; } } // Record the mouse release. isComponentPressedDown = false ; // Call the mouse release event. mouseRelease ( e ) ; }
mouseReleased Final function . Handles mouse released events . This function also detects liberal single clicks and liberal double clicks .