It didn't work for you because getWhen() returns the time in miliseconds of when that event occured, not the time the event lasted. This code works for me:
long mousePressed;
long mouseReleased;
long mousePressTime;
@Override
public void mousePressed(java.awt.event.MouseEvent e) {
mousePressed = e.getWhen();
}
@Override
public void mouseReleased(java.awt.event.MouseEvent e) {
mouseReleased = e.getWhen();
mousePressTime = mouseReleased - mousePressed;
System.out.println("PRESS TIME "+mousePressTime);
}