--- old/src/share/classes/java/awt/event/InputMethodEvent.java 2014-05-27 19:39:07.000000000 +0400 +++ new/src/share/classes/java/awt/event/InputMethodEvent.java 2014-05-27 19:39:07.000000000 +0400 @@ -25,6 +25,8 @@ package java.awt.event; +import sun.awt.AWTAccessor; + import java.awt.AWTEvent; import java.awt.Component; import java.awt.EventQueue; @@ -217,8 +219,11 @@ public InputMethodEvent(Component source, int id, AttributedCharacterIterator text, int committedCharacterCount, TextHitInfo caret, TextHitInfo visiblePosition) { - this(source, id, EventQueue.getMostRecentEventTime(), text, - committedCharacterCount, caret, visiblePosition); + this(source, id, + AWTAccessor.getEventQueueAccessor() + .getMostRecentEventTimeForTarget(source), + text, committedCharacterCount, + caret, visiblePosition); } /** @@ -258,8 +263,10 @@ */ public InputMethodEvent(Component source, int id, TextHitInfo caret, TextHitInfo visiblePosition) { - this(source, id, EventQueue.getMostRecentEventTime(), null, - 0, caret, visiblePosition); + this(source, id, + AWTAccessor.getEventQueueAccessor() + .getMostRecentEventTimeForTarget(source), + null, 0, caret, visiblePosition); } /** @@ -411,7 +418,8 @@ private void readObject(ObjectInputStream s) throws ClassNotFoundException, IOException { s.defaultReadObject(); if (when == 0) { - when = EventQueue.getMostRecentEventTime(); + when = AWTAccessor.getEventQueueAccessor() + .getMostRecentEventTimeForTarget(this.source); } } }