}
long when = mouseEvent.getWhen();
int modifiers = mouseEvent.getModifiers();
int clickCount = mouseEvent.getClickCount();
boolean isPopupTrigger = mouseEvent.isPopupTrigger();
MouseEvent newEvent;
if(id == MouseEvent.MOUSE_WHEEL) {
MouseWheelEvent mouseWheelEvent = (MouseWheelEvent) mouseEvent;
int scrollType = mouseWheelEvent.getScrollType();
int scrollAmount = mouseWheelEvent.getScrollAmount();
int wheelRotation = mouseWheelEvent.getWheelRotation();
newEvent = new MouseWheelEvent(parentComponent, id, when, modifiers, point.x, point.y,
clickCount, isPopupTrigger, scrollType, scrollAmount,
wheelRotation);
}
else {
newEvent = new MouseEvent(parentComponent, id, when, modifiers, point.x, point.y,
clickCount, isPopupTrigger);
}
Component parentComponentBackup = parentComponent;
parentComponent.dispatchEvent(newEvent);
if(parentComponent == null && id != MouseEvent.MOUSE_EXITED) {
MouseEvent exitEvent = new MouseEvent(parentComponentBackup, MouseEvent.MOUSE_EXITED, when,
modifiers, point.x, point.y, clickCount, isPopupTrigger);
parentComponentBackup.dispatchEvent(exitEvent);
}
if(tipComponentWindow != null && id != MouseEvent.MOUSE_MOVED) {
// mouse click might have changed appearance (e.g. selection color)