Java 类java.awt.dnd.InvalidDnDOperationException 实例源码
项目:OpenJSharp
文件:SunDropTargetContextPeer.java
/**
* reject Drop
*/
public synchronized void rejectDrop() {
if (dropStatus != STATUS_WAIT) {
throw new InvalidDnDOperationException("invalid rejectDrop()");
}
dropStatus = STATUS_REJECT;
/*
* Fix for 4285634.
* The target rejected the drop means that it doesn't perform any
* drop action. This change is to make Solaris behavior consistent
* with Win32.
*/
currentDA = DnDConstants.ACTION_NONE;
dropComplete(false);
}
项目:OpenJSharp
文件:SunDropTargetContextPeer.java
void dispatchEvent(SunDropTargetEvent e) {
int id = e.getID();
switch (id) {
case SunDropTargetEvent.MOUSE_ENTERED:
dispatchEnterEvent(e);
break;
case SunDropTargetEvent.MOUSE_DRAGGED:
dispatchMotionEvent(e);
break;
case SunDropTargetEvent.MOUSE_EXITED:
dispatchExitEvent(e);
break;
case SunDropTargetEvent.MOUSE_DROPPED:
dispatchDropEvent(e);
break;
default:
throw new InvalidDnDOperationException();
}
}
项目:OpenJSharp
文件:XDragSourceProtocol.java
/**
* Initializes a drag operation with the specified supported drop actions,
* contents and data formats.
*
* @param actions a bitwise mask of <code>DnDConstants</code> that represent
* the supported drop actions.
* @param contents the contents for the drag operation.
* @param formats an array of Atoms that represent the supported data formats.
* @param formats an array of Atoms that represent the supported data formats.
* @throws InvalidDnDOperationException if a drag operation is already
* initialized.
* @throws IllegalArgumentException if some argument has invalid value.
* @throws XException if some X call failed.
*/
public final void initializeDrag(int actions, Transferable contents,
Map formatMap, long[] formats)
throws InvalidDnDOperationException,
IllegalArgumentException, XException {
XToolkit.awtLock();
try {
try {
if (initialized) {
throw new InvalidDnDOperationException("Already initialized");
}
initializeDragImpl(actions, contents, formatMap, formats);
initialized = true;
} finally {
if (!initialized) {
cleanup();
}
}
} finally {
XToolkit.awtUnlock();
}
}
项目:jdk8u-jdk
文件:SunDropTargetContextPeer.java
/**
* reject Drop
*/
public synchronized void rejectDrop() {
if (dropStatus != STATUS_WAIT) {
throw new InvalidDnDOperationException("invalid rejectDrop()");
}
dropStatus = STATUS_REJECT;
/*
* Fix for 4285634.
* The target rejected the drop means that it doesn't perform any
* drop action. This change is to make Solaris behavior consistent
* with Win32.
*/
currentDA = DnDConstants.ACTION_NONE;
dropComplete(false);
}
项目:jdk8u-jdk
文件:SunDropTargetContextPeer.java
void dispatchEvent(SunDropTargetEvent e) {
int id = e.getID();
switch (id) {
case SunDropTargetEvent.MOUSE_ENTERED:
dispatchEnterEvent(e);
break;
case SunDropTargetEvent.MOUSE_DRAGGED:
dispatchMotionEvent(e);
break;
case SunDropTargetEvent.MOUSE_EXITED:
dispatchExitEvent(e);
break;
case SunDropTargetEvent.MOUSE_DROPPED:
dispatchDropEvent(e);
break;
default:
throw new InvalidDnDOperationException();
}
}
项目:jdk8u-jdk
文件:XDragSourceProtocol.java
/**
* Initializes a drag operation with the specified supported drop actions,
* contents and data formats.
*
* @param actions a bitwise mask of <code>DnDConstants</code> that represent
* the supported drop actions.
* @param contents the contents for the drag operation.
* @param formats an array of Atoms that represent the supported data formats.
* @param formats an array of Atoms that represent the supported data formats.
* @throws InvalidDnDOperationException if a drag operation is already
* initialized.
* @throws IllegalArgumentException if some argument has invalid value.
* @throws XException if some X call failed.
*/
public final void initializeDrag(int actions, Transferable contents,
Map formatMap, long[] formats)
throws InvalidDnDOperationException,
IllegalArgumentException, XException {
XToolkit.awtLock();
try {
try {
if (initialized) {
throw new InvalidDnDOperationException("Already initialized");
}
initializeDragImpl(actions, contents, formatMap, formats);
initialized = true;
} finally {
if (!initialized) {
cleanup();
}
}
} finally {
XToolkit.awtUnlock();
}
}
项目:openjdk-jdk10
文件:SunDropTargetContextPeer.java
/**
* reject Drop
*/
public synchronized void rejectDrop() {
if (dropStatus != STATUS_WAIT) {
throw new InvalidDnDOperationException("invalid rejectDrop()");
}
dropStatus = STATUS_REJECT;
/*
* Fix for 4285634.
* The target rejected the drop means that it doesn't perform any
* drop action. This change is to make Solaris behavior consistent
* with Win32.
*/
currentDA = DnDConstants.ACTION_NONE;
dropComplete(false);
}
项目:openjdk-jdk10
文件:SunDropTargetContextPeer.java
void dispatchEvent(SunDropTargetEvent e) {
int id = e.getID();
switch (id) {
case SunDropTargetEvent.MOUSE_ENTERED:
dispatchEnterEvent(e);
break;
case SunDropTargetEvent.MOUSE_DRAGGED:
dispatchMotionEvent(e);
break;
case SunDropTargetEvent.MOUSE_EXITED:
dispatchExitEvent(e);
break;
case SunDropTargetEvent.MOUSE_DROPPED:
dispatchDropEvent(e);
break;
default:
throw new InvalidDnDOperationException();
}
}
项目:openjdk-jdk10
文件:XDragSourceProtocol.java
/**
* Initializes a drag operation with the specified supported drop actions,
* contents and data formats.
*
* @param actions a bitwise mask of {@code DnDConstants} that represent
* the supported drop actions.
* @param contents the contents for the drag operation.
* @param formats an array of Atoms that represent the supported data formats.
* @param formats an array of Atoms that represent the supported data formats.
* @throws InvalidDnDOperationException if a drag operation is already
* initialized.
* @throws IllegalArgumentException if some argument has invalid value.
* @throws XException if some X call failed.
*/
public final void initializeDrag(int actions, Transferable contents,
Map<Long, DataFlavor> formatMap, long[] formats)
throws InvalidDnDOperationException,
IllegalArgumentException, XException {
XToolkit.awtLock();
try {
try {
if (initialized) {
throw new InvalidDnDOperationException("Already initialized");
}
initializeDragImpl(actions, contents, formatMap, formats);
initialized = true;
} finally {
if (!initialized) {
cleanup();
}
}
} finally {
XToolkit.awtUnlock();
}
}
项目:openjdk9
文件:SunDropTargetContextPeer.java
/**
* reject Drop
*/
public synchronized void rejectDrop() {
if (dropStatus != STATUS_WAIT) {
throw new InvalidDnDOperationException("invalid rejectDrop()");
}
dropStatus = STATUS_REJECT;
/*
* Fix for 4285634.
* The target rejected the drop means that it doesn't perform any
* drop action. This change is to make Solaris behavior consistent
* with Win32.
*/
currentDA = DnDConstants.ACTION_NONE;
dropComplete(false);
}
项目:openjdk9
文件:SunDropTargetContextPeer.java
void dispatchEvent(SunDropTargetEvent e) {
int id = e.getID();
switch (id) {
case SunDropTargetEvent.MOUSE_ENTERED:
dispatchEnterEvent(e);
break;
case SunDropTargetEvent.MOUSE_DRAGGED:
dispatchMotionEvent(e);
break;
case SunDropTargetEvent.MOUSE_EXITED:
dispatchExitEvent(e);
break;
case SunDropTargetEvent.MOUSE_DROPPED:
dispatchDropEvent(e);
break;
default:
throw new InvalidDnDOperationException();
}
}
项目:openjdk9
文件:XDragSourceProtocol.java
/**
* Initializes a drag operation with the specified supported drop actions,
* contents and data formats.
*
* @param actions a bitwise mask of {@code DnDConstants} that represent
* the supported drop actions.
* @param contents the contents for the drag operation.
* @param formats an array of Atoms that represent the supported data formats.
* @param formats an array of Atoms that represent the supported data formats.
* @throws InvalidDnDOperationException if a drag operation is already
* initialized.
* @throws IllegalArgumentException if some argument has invalid value.
* @throws XException if some X call failed.
*/
public final void initializeDrag(int actions, Transferable contents,
Map<Long, DataFlavor> formatMap, long[] formats)
throws InvalidDnDOperationException,
IllegalArgumentException, XException {
XToolkit.awtLock();
try {
try {
if (initialized) {
throw new InvalidDnDOperationException("Already initialized");
}
initializeDragImpl(actions, contents, formatMap, formats);
initialized = true;
} finally {
if (!initialized) {
cleanup();
}
}
} finally {
XToolkit.awtUnlock();
}
}
项目:jdk8u_jdk
文件:SunDropTargetContextPeer.java
/**
* reject Drop
*/
public synchronized void rejectDrop() {
if (dropStatus != STATUS_WAIT) {
throw new InvalidDnDOperationException("invalid rejectDrop()");
}
dropStatus = STATUS_REJECT;
/*
* Fix for 4285634.
* The target rejected the drop means that it doesn't perform any
* drop action. This change is to make Solaris behavior consistent
* with Win32.
*/
currentDA = DnDConstants.ACTION_NONE;
dropComplete(false);
}
项目:jdk8u_jdk
文件:SunDropTargetContextPeer.java
void dispatchEvent(SunDropTargetEvent e) {
int id = e.getID();
switch (id) {
case SunDropTargetEvent.MOUSE_ENTERED:
dispatchEnterEvent(e);
break;
case SunDropTargetEvent.MOUSE_DRAGGED:
dispatchMotionEvent(e);
break;
case SunDropTargetEvent.MOUSE_EXITED:
dispatchExitEvent(e);
break;
case SunDropTargetEvent.MOUSE_DROPPED:
dispatchDropEvent(e);
break;
default:
throw new InvalidDnDOperationException();
}
}
项目:lookaside_java-1.8.0-openjdk
文件:SunDropTargetContextPeer.java
/**
* reject Drop
*/
public synchronized void rejectDrop() {
if (dropStatus != STATUS_WAIT) {
throw new InvalidDnDOperationException("invalid rejectDrop()");
}
dropStatus = STATUS_REJECT;
/*
* Fix for 4285634.
* The target rejected the drop means that it doesn't perform any
* drop action. This change is to make Solaris behavior consistent
* with Win32.
*/
currentDA = DnDConstants.ACTION_NONE;
dropComplete(false);
}
项目:lookaside_java-1.8.0-openjdk
文件:SunDropTargetContextPeer.java
void dispatchEvent(SunDropTargetEvent e) {
int id = e.getID();
switch (id) {
case SunDropTargetEvent.MOUSE_ENTERED:
dispatchEnterEvent(e);
break;
case SunDropTargetEvent.MOUSE_DRAGGED:
dispatchMotionEvent(e);
break;
case SunDropTargetEvent.MOUSE_EXITED:
dispatchExitEvent(e);
break;
case SunDropTargetEvent.MOUSE_DROPPED:
dispatchDropEvent(e);
break;
default:
throw new InvalidDnDOperationException();
}
}
项目:lookaside_java-1.8.0-openjdk
文件:XDragSourceProtocol.java
/**
* Initializes a drag operation with the specified supported drop actions,
* contents and data formats.
*
* @param actions a bitwise mask of <code>DnDConstants</code> that represent
* the supported drop actions.
* @param contents the contents for the drag operation.
* @param formats an array of Atoms that represent the supported data formats.
* @param formats an array of Atoms that represent the supported data formats.
* @throws InvalidDnDOperationException if a drag operation is already
* initialized.
* @throws IllegalArgumentException if some argument has invalid value.
* @throws XException if some X call failed.
*/
public final void initializeDrag(int actions, Transferable contents,
Map formatMap, long[] formats)
throws InvalidDnDOperationException,
IllegalArgumentException, XException {
XToolkit.awtLock();
try {
try {
if (initialized) {
throw new InvalidDnDOperationException("Already initialized");
}
initializeDragImpl(actions, contents, formatMap, formats);
initialized = true;
} finally {
if (!initialized) {
cleanup();
}
}
} finally {
XToolkit.awtUnlock();
}
}
项目:incubator-netbeans
文件:DnDSupport.java
public void dragGestureRecognized( DragGestureEvent dge ) {
Transferable t = null;
if( dge.getComponent() instanceof CategoryButton ) {
//trying to drag a palette category
CategoryButton button = (CategoryButton)dge.getComponent();
draggingCategory = button.getCategory();
t = draggingCategory.getTransferable();
} else if( dge.getComponent() instanceof CategoryList ) {
//trying to drag a palette item
CategoryList list = (CategoryList)dge.getComponent();
int selIndex = list.locationToIndex( dge.getDragOrigin() );
draggingItem = list.getItemAt( selIndex );
if( null == draggingItem ) {
return;
}
t = draggingItem.drag();
dragSourceCategoryList = list;
}
if( null != t ) {
dge.getDragSource().addDragSourceListener( getDragSourceListener() );
try {
dge.startDrag( null, t );
} catch( InvalidDnDOperationException idndE ) {
//attempt to fix #110670
try {
dge.startDrag( null, t );
} catch( InvalidDnDOperationException e ) {
ERR.log( Level.INFO, idndE.getMessage(), e );
}
}
}
}
项目:incubator-netbeans
文件:IndexedCustomizer.java
/** Initiating the drag */
public void dragGestureRecognized(DragGestureEvent dge) {
// check allowed actions
if ((dge.getDragAction() & DnDConstants.ACTION_MOVE) == 0) {
return;
}
// prepare transferable and start the drag
int index = comp.locationToIndex(dge.getDragOrigin());
// no index, then no dragging...
if (index < 0) {
return;
}
// System.out.println("Starting drag..."); // NOI18N
// create our flavor for transferring the index
myFlavor = new DataFlavor(
String.class, NbBundle.getBundle(IndexedCustomizer.class).getString("IndexedFlavor")
);
try {
dge.startDrag(DragSource.DefaultMoveDrop, new IndexTransferable(myFlavor, index), this);
// remember the gesture
this.dge = dge;
} catch (InvalidDnDOperationException exc) {
Logger.getLogger(IndexedCustomizer.class.getName()).log(Level.WARNING, null, exc);
// PENDING notify user - cannot start the drag
}
}
项目:VASSAL-src
文件:SetupStack.java
public void dragGestureRecognized(DragGestureEvent dge) {
Point mousePosition = dge.getDragOrigin();
Point piecePosition = new Point(myStack.pos);
// Check drag starts inside piece
Rectangle r = myStack.stackConfigurer.getPieceBoundingBox();
r.translate(piecePosition.x, piecePosition.y);
if (!r.contains(mousePosition)) {
return;
}
originalPieceOffsetX = piecePosition.x - mousePosition.x;
originalPieceOffsetY = piecePosition.y - mousePosition.y;
drawWin = null;
makeDragCursor();
setDragCursor();
SwingUtilities.convertPointToScreen(mousePosition, drawWin);
moveDragCursor(mousePosition.x, mousePosition.y);
// begin dragging
try {
dge.startDrag(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR),
new StringSelection(""), this); // DEBUG
dge.getDragSource().addDragSourceMotionListener(this);
}
catch (InvalidDnDOperationException e) {
ErrorDialog.bug(e);
}
}
项目:VASSAL-src
文件:RegionGrid.java
public void dragGestureRecognized(DragGestureEvent dge) {
final Point mousePosition = dge.getDragOrigin();
dragStart = new Point(mousePosition);
final Region r = grid.getRegion(mousePosition);
if (r == null) {
return;
}
Point piecePosition = new Point(r.getOrigin());
originalPieceOffsetX = piecePosition.x - mousePosition.x;
originalPieceOffsetY = piecePosition.y - mousePosition.y;
drawWin = null;
makeDragCursor();
setDragCursor();
SwingUtilities.convertPointToScreen(drawOffset, drawWin);
SwingUtilities.convertPointToScreen(mousePosition, drawWin);
moveDragCursor(mousePosition.x, mousePosition.y);
// begin dragging
try {
dge.startDrag(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR),
new StringSelection(""), this); //$NON-NLS-1$
dge.getDragSource().addDragSourceMotionListener(this);
}
catch (InvalidDnDOperationException e) {
ErrorDialog.bug(e);
}
}
项目:VASSAL-src
文件:PieceMover.java
/** Fires after user begins moving the mouse several pixels over a map. */
public void dragGestureRecognized(DragGestureEvent dge) {
try {
beginDragging(dge);
}
// FIXME: Fix by replacing AWT Drag 'n Drop with Swing DnD.
// Catch and ignore spurious DragGestures
catch (InvalidDnDOperationException e) {
}
}
项目:OpenJSharp
文件:SunDropTargetContextPeer.java
public static void setCurrentJVMLocalSourceTransferable(Transferable t) throws InvalidDnDOperationException {
synchronized(_globalLock) {
if (t != null && currentJVMLocalSourceTransferable != null) {
throw new InvalidDnDOperationException();
} else {
currentJVMLocalSourceTransferable = t;
}
}
}
项目:OpenJSharp
文件:SunDropTargetContextPeer.java
/**
* acceptDrag
*/
public synchronized void acceptDrag(int dragOperation) {
if (currentDT == null) {
throw new InvalidDnDOperationException("No Drag pending");
}
currentDA = mapOperation(dragOperation);
if (currentDA != DnDConstants.ACTION_NONE) {
dragRejected = false;
}
}
项目:OpenJSharp
文件:SunDropTargetContextPeer.java
/**
* rejectDrag
*/
public synchronized void rejectDrag() {
if (currentDT == null) {
throw new InvalidDnDOperationException("No Drag pending");
}
currentDA = DnDConstants.ACTION_NONE;
dragRejected = true;
}
项目:OpenJSharp
文件:SunDropTargetContextPeer.java
/**
* acceptDrop
*/
public synchronized void acceptDrop(int dropOperation) {
if (dropOperation == DnDConstants.ACTION_NONE)
throw new IllegalArgumentException("invalid acceptDrop() action");
if (dropStatus == STATUS_WAIT || dropStatus == STATUS_ACCEPT) {
currentDA = currentA = mapOperation(dropOperation & currentSA);
dropStatus = STATUS_ACCEPT;
dropComplete = false;
} else {
throw new InvalidDnDOperationException("invalid acceptDrop()");
}
}
项目:OpenJSharp
文件:SunDropTargetContextPeer.java
/**
* signal drop complete
*/
public synchronized void dropComplete(boolean success) {
if (dropStatus == STATUS_NONE) {
throw new InvalidDnDOperationException("No Drop pending");
}
if (currentDTC != null) currentDTC.removeNotify();
currentDT = null;
currentDTC = null;
currentT = null;
currentA = DnDConstants.ACTION_NONE;
synchronized(_globalLock) {
currentJVMLocalSourceTransferable = null;
}
dropStatus = STATUS_NONE;
dropComplete = true;
try {
doDropDone(success, currentDA, local != null);
} finally {
currentDA = DnDConstants.ACTION_NONE;
// The native context is invalid after the drop is done.
// Clear the reference to prohibit access.
nativeDragContext = 0;
}
}
项目:OpenJSharp
文件:SunDragSourceContextPeer.java
/**
* initiate a DnD operation ...
*/
public void startDrag(DragSourceContext dsc, Cursor c, Image di, Point p)
throws InvalidDnDOperationException {
/* Fix for 4354044: don't initiate a drag if event sequence provided by
* DragGestureRecognizer is empty */
if (getTrigger().getTriggerEvent() == null) {
throw new InvalidDnDOperationException("DragGestureEvent has a null trigger");
}
dragSourceContext = dsc;
cursor = c;
sourceActions = getDragSourceContext().getSourceActions();
dragImage = di;
dragImageOffset = p;
Transferable transferable = getDragSourceContext().getTransferable();
SortedMap<Long,DataFlavor> formatMap = DataTransferer.getInstance().
getFormatsForTransferable(transferable, DataTransferer.adaptFlavorMap
(getTrigger().getDragSource().getFlavorMap()));
long[] formats = DataTransferer.getInstance().
keysToLongArray(formatMap);
startDrag(transferable, formats, formatMap);
/*
* Fix for 4613903.
* Filter out all mouse events that are currently on the event queue.
*/
discardingMouseEvents = true;
EventQueue.invokeLater(new Runnable() {
public void run() {
discardingMouseEvents = false;
}
});
}
项目:OpenJSharp
文件:SunDragSourceContextPeer.java
/**
* set cursor
*/
public void setCursor(Cursor c) throws InvalidDnDOperationException {
synchronized (this) {
if (cursor == null || !cursor.equals(c)) {
cursor = c;
// NOTE: native context can be null at this point.
// setNativeCursor() should handle it properly.
setNativeCursor(getNativeContext(), c,
c != null ? c.getType() : 0);
}
}
}
项目:OpenJSharp
文件:SunDragSourceContextPeer.java
public static void setDragDropInProgress(boolean b)
throws InvalidDnDOperationException {
synchronized (SunDragSourceContextPeer.class) {
if (dragDropInProgress == b) {
throw new InvalidDnDOperationException(getExceptionMessage(b));
}
dragDropInProgress = b;
}
}
项目:OpenJSharp
文件:WToolkit.java
/**
* create the peer for a DragSourceContext
*/
@Override
public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException {
final LightweightFrame f = SunToolkit.getLightweightFrame(dge.getComponent());
if (f != null) {
return f.createDragSourceContextPeer(dge);
}
return WDragSourceContextPeer.createDragSourceContextPeer(dge);
}
项目:OpenJSharp
文件:MotifDnDDragSourceProtocol.java
protected void initializeDragImpl(int actions, Transferable contents,
Map formatMap, long[] formats)
throws InvalidDnDOperationException,
IllegalArgumentException, XException {
long window = XDragSourceProtocol.getDragSourceWindow();
/* Write the Motif DnD initiator info on the root XWindow. */
try {
int index = MotifDnDConstants.getIndexForTargetList(formats);
MotifDnDConstants.writeDragInitiatorInfoStruct(window, index);
} catch (XException xe) {
cleanup();
throw xe;
} catch (InvalidDnDOperationException idoe) {
cleanup();
throw idoe;
}
if (!MotifDnDConstants.MotifDnDSelection.setOwner(contents, formatMap,
formats,
XConstants.CurrentTime)) {
cleanup();
throw new InvalidDnDOperationException("Cannot acquire selection ownership");
}
}
项目:OpenJSharp
文件:XDragSourceContextPeer.java
/**
* set cursor
*/
public void setCursor(Cursor c) throws InvalidDnDOperationException {
XToolkit.awtLock();
try {
super.setCursor(c);
} finally {
XToolkit.awtUnlock();
}
}
项目:OpenJSharp
文件:XDragSourceContextPeer.java
private void throwGrabFailureException(String msg, int grabStatus)
throws InvalidDnDOperationException {
String msgCause = "";
switch (grabStatus) {
case XConstants.GrabNotViewable: msgCause = "not viewable"; break;
case XConstants.AlreadyGrabbed: msgCause = "already grabbed"; break;
case XConstants.GrabInvalidTime: msgCause = "invalid time"; break;
case XConstants.GrabFrozen: msgCause = "grab frozen"; break;
default: msgCause = "unknown failure"; break;
}
throw new InvalidDnDOperationException(msg + ": " + msgCause);
}
项目:OpenJSharp
文件:XToolkit.java
public DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException {
final LightweightFrame f = SunToolkit.getLightweightFrame(dge.getComponent());
if (f != null) {
return f.createDragSourceContextPeer(dge);
}
return XDragSourceContextPeer.createDragSourceContextPeer(dge);
}
项目:jdk8u-jdk
文件:SunDropTargetContextPeer.java
public static void setCurrentJVMLocalSourceTransferable(Transferable t) throws InvalidDnDOperationException {
synchronized(_globalLock) {
if (t != null && currentJVMLocalSourceTransferable != null) {
throw new InvalidDnDOperationException();
} else {
currentJVMLocalSourceTransferable = t;
}
}
}
项目:jdk8u-jdk
文件:SunDropTargetContextPeer.java
/**
* acceptDrag
*/
public synchronized void acceptDrag(int dragOperation) {
if (currentDT == null) {
throw new InvalidDnDOperationException("No Drag pending");
}
currentDA = mapOperation(dragOperation);
if (currentDA != DnDConstants.ACTION_NONE) {
dragRejected = false;
}
}
项目:jdk8u-jdk
文件:SunDropTargetContextPeer.java
/**
* rejectDrag
*/
public synchronized void rejectDrag() {
if (currentDT == null) {
throw new InvalidDnDOperationException("No Drag pending");
}
currentDA = DnDConstants.ACTION_NONE;
dragRejected = true;
}
项目:jdk8u-jdk
文件:SunDropTargetContextPeer.java
/**
* acceptDrop
*/
public synchronized void acceptDrop(int dropOperation) {
if (dropOperation == DnDConstants.ACTION_NONE)
throw new IllegalArgumentException("invalid acceptDrop() action");
if (dropStatus == STATUS_WAIT || dropStatus == STATUS_ACCEPT) {
currentDA = currentA = mapOperation(dropOperation & currentSA);
dropStatus = STATUS_ACCEPT;
dropComplete = false;
} else {
throw new InvalidDnDOperationException("invalid acceptDrop()");
}
}
项目:jdk8u-jdk
文件:SunDropTargetContextPeer.java
/**
* signal drop complete
*/
public synchronized void dropComplete(boolean success) {
if (dropStatus == STATUS_NONE) {
throw new InvalidDnDOperationException("No Drop pending");
}
if (currentDTC != null) currentDTC.removeNotify();
currentDT = null;
currentDTC = null;
currentT = null;
currentA = DnDConstants.ACTION_NONE;
synchronized(_globalLock) {
currentJVMLocalSourceTransferable = null;
}
dropStatus = STATUS_NONE;
dropComplete = true;
try {
doDropDone(success, currentDA, local != null);
} finally {
currentDA = DnDConstants.ACTION_NONE;
// The native context is invalid after the drop is done.
// Clear the reference to prohibit access.
nativeDragContext = 0;
}
}