src/java.desktop/share/classes/java/awt/dnd/DragSource.java

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this --- 1,7 ---- /* ! * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this
*** 33,49 **** import java.awt.Point; import java.awt.Toolkit; import java.awt.datatransfer.FlavorMap; import java.awt.datatransfer.SystemFlavorMap; import java.awt.datatransfer.Transferable; - import java.awt.dnd.peer.DragSourceContextPeer; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.security.AccessController; import java.util.EventListener; import sun.awt.dnd.SunDragSourceContextPeer; import sun.security.action.GetIntegerAction; /** --- 33,51 ---- import java.awt.Point; import java.awt.Toolkit; import java.awt.datatransfer.FlavorMap; import java.awt.datatransfer.SystemFlavorMap; import java.awt.datatransfer.Transferable; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.security.AccessController; import java.util.EventListener; + + import sun.awt.AWTAccessor; + import sun.awt.AWTAccessor.DragSourceContextAccessor; import sun.awt.dnd.SunDragSourceContextPeer; import sun.security.action.GetIntegerAction; /**
*** 301,326 **** SunDragSourceContextPeer.setDragDropInProgress(true); try { if (flavorMap != null) this.flavorMap = flavorMap; ! DragSourceContextPeer dscp = Toolkit.getDefaultToolkit().createDragSourceContextPeer(trigger); ! ! DragSourceContext dsc = createDragSourceContext(dscp, ! trigger, ! dragCursor, dragImage, imageOffset, ! transferable, ! dsl ! ); if (dsc == null) { throw new InvalidDnDOperationException(); } ! ! dscp.startDrag(dsc, dsc.getCursor(), dragImage, imageOffset); // may throw } catch (RuntimeException e) { SunDragSourceContextPeer.setDragDropInProgress(false); throw e; } } --- 303,322 ---- SunDragSourceContextPeer.setDragDropInProgress(true); try { if (flavorMap != null) this.flavorMap = flavorMap; ! DragSourceContext dsc = createDragSourceContext(trigger, dragCursor, dragImage, imageOffset, ! transferable, dsl); if (dsc == null) { throw new InvalidDnDOperationException(); } ! DragSourceContextAccessor acc = AWTAccessor.getDragSourceContextAccessor(); ! acc.getPeer(dsc).startDrag(dsc, dsc.getCursor(), dragImage, imageOffset); // may throw } catch (RuntimeException e) { SunDragSourceContextPeer.setDragDropInProgress(false); throw e; } }
*** 440,450 **** * <p> * If <code>dsl</code> is <code>null</code>, no drag source listener * is registered with the created <code>DragSourceContext</code>, * but <code>NullPointerException</code> is not thrown. * - * @param dscp The <code>DragSourceContextPeer</code> for this drag * @param dgl The <code>DragGestureEvent</code> that triggered the * drag * @param dragCursor The initial {@code Cursor} for this drag operation * or {@code null} for the default cursor handling; * see <a href="DragSourceContext.html#defaultCursor">DragSourceContext</a> class --- 436,445 ----
*** 471,482 **** * @throws IllegalArgumentException if the source actions for the * <code>DragGestureRecognizer</code> associated with the trigger * event are equal to <code>DnDConstants.ACTION_NONE</code>. */ ! protected DragSourceContext createDragSourceContext(DragSourceContextPeer dscp, DragGestureEvent dgl, Cursor dragCursor, Image dragImage, Point imageOffset, Transferable t, DragSourceListener dsl) { ! return new DragSourceContext(dscp, dgl, dragCursor, dragImage, imageOffset, t, dsl); } /** * This method returns the * <code>FlavorMap</code> for this <code>DragSource</code>. --- 466,482 ---- * @throws IllegalArgumentException if the source actions for the * <code>DragGestureRecognizer</code> associated with the trigger * event are equal to <code>DnDConstants.ACTION_NONE</code>. */ ! protected DragSourceContext createDragSourceContext(DragGestureEvent dgl, ! Cursor dragCursor, ! Image dragImage, ! Point imageOffset, ! Transferable t, ! DragSourceListener dsl) { ! return new DragSourceContext(dgl, dragCursor, dragImage, imageOffset, t, dsl); } /** * This method returns the * <code>FlavorMap</code> for this <code>DragSource</code>.