src/share/classes/java/awt/datatransfer/Clipboard.java

Print this page

        

@@ -23,11 +23,11 @@
  * questions.
  */
 
 package java.awt.datatransfer;
 
-import java.awt.EventQueue;
+import sun.datatransfer.DataFlavorUtil;
 
 import java.util.Objects;
 import java.util.Set;
 import java.util.HashSet;
 import java.util.Arrays;

@@ -128,11 +128,12 @@
 
         this.owner = owner;
         this.contents = contents;
 
         if (oldOwner != null && oldOwner != owner) {
-            EventQueue.invokeLater(() -> oldOwner.lostOwnership(Clipboard.this, oldContents));
+            DataFlavorUtil.getDesktopService().invokeOnEventThread(() ->
+                    oldOwner.lostOwnership(Clipboard.this, oldContents));
         }
         fireFlavorsChanged();
     }
 
     /**

@@ -322,11 +323,11 @@
         currentDataFlavors = getAvailableDataFlavorSet();
         if (Objects.equals(prevDataFlavors, currentDataFlavors)) {
             return;
         }
         flavorListeners.forEach(listener ->
-                EventQueue.invokeLater(() ->
+                DataFlavorUtil.getDesktopService().invokeOnEventThread(() ->
                         listener.flavorsChanged(new FlavorEvent(Clipboard.this))));
     }
 
     /**
      * Returns a set of <code>DataFlavor</code>s currently available