java.awt.dnd.DragGestureEvent#getDragOrigin ( )源码实例Demo

下面列出了java.awt.dnd.DragGestureEvent#getDragOrigin ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: netbeans   文件: DragAndDropFeedbackVisualizer.java
public void start(final DragGestureEvent e) {
    originalLocationOnScreen = source.getComponent().getLocationOnScreen();
    final Rectangle tabRect = source.getTabBounds(tabIndex);
    if( prefs.getBoolean(WinSysPrefs.DND_SMALLWINDOWS, true) ) {
        originalLocationOnScreen.x += tabRect.x;
    }

    DragWindow tmp = createDragWindow( tabIndex );
    if( null != tmp ) {
        dragOffset = new Point( 0, 0 );
        Point loc = new Point( e.getDragOrigin() );
        SwingUtilities.convertPointToScreen(loc, e.getComponent());
        tmp.setLocation( loc.x-dragOffset.x, loc.y-dragOffset.y );
        //let the JNA transparency stuff to kick in
        try {
            tmp.setVisible( true );
            //make drag window visible, i.e. move to proper location,
            //dragImage.setLocation( startingPoint );
            dragWindow = tmp;
        } catch( UnsatisfiedLinkError ulE ) {
            Logger.getLogger(DragAndDropFeedbackVisualizer.class.getName()).log(Level.INFO, null, ulE);
        } catch( Throwable ex ) {
            Logger.getLogger(DragAndDropFeedbackVisualizer.class.getName()).log(Level.FINE, null, ex);
        }
    }
}
 
源代码2 项目: pumpernickel   文件: CustomizedToolbar.java
public void dragGestureRecognized(DragGestureEvent dge) {
	Point p = dge.getDragOrigin();
	Component c = dge.getComponent();
	JFrame f = (JFrame) SwingUtilities.getWindowAncestor(c);
	p = SwingUtilities.convertPoint(c, p, f);

	for (int a = 0; a < componentList.length; a++) {
		if (triggerDrag(f, p, dge, componentList[a]))
			return;
	}
	// double-check for separators & gaps:
	for (int a = 0; a < getComponentCount(); a++) {
		if (triggerDrag(f, p, dge, (JComponent) getComponent(a)))
			return;
	}

}
 
源代码3 项目: pumpernickel   文件: CustomizedToolbarOptions.java
public void dragGestureRecognized(DragGestureEvent dge) {

			Point p = dge.getDragOrigin();
			MockComponent mc = (MockComponent) dge.getComponent();
			Transferable transferable = new MockComponentTransferable(mc);
			BufferedImage bi = mc.getBufferedImage();
			if (mc instanceof MockDefaultToolbar) {
				toolbar.draggingComponent = "";
			} else if (mc.getName().equals("-")) {
				toolbar.draggingComponent = toolbar.getNewSeparatorName();
			} else if (mc.getName().equals(" ")) {
				toolbar.draggingComponent = toolbar.getNewSpaceName();
			} else if (mc.getName().equals("\t")) {
				toolbar.draggingComponent = toolbar.getNewFlexibleSpaceName();
			} else {
				toolbar.draggingComponent = mc.getName();
			}
			toolbar.draggingDefaults = (mc instanceof MockDefaultToolbar);
			toolbar.draggingFromToolbar = false;
			dge.startDrag(DragSource.DefaultMoveDrop, bi,
					new Point(-p.x, -p.y), transferable, dragSourceListener);
		}
 
源代码4 项目: swing_library   文件: OutputTree.java
public void dragGestureRecognized(DragGestureEvent dge) {
	
	Point location = dge.getDragOrigin();

	TreePath path = this.getPathForLocation(location.x, location.y);

	DefaultMutableTreeNode node = (DefaultMutableTreeNode) path
			.getLastPathComponent();

	System.out
			.println("The class of user object node is node.getUserObject() "
					+ node.getUserObject().getClass());

	Output o = (Output) node.getUserObject();

	if (o != null) {
		Transferable transferable = new SimpleTransferable(o);
		dge.startDrag(null, transferable, this);
	}
}
 
源代码5 项目: gcs   文件: OutlineHeader.java
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    if (mSortColumn != null && mOwner.allowColumnDrag()) {
        mOwner.setSourceDragColumn(mSortColumn);
        if (DragSource.isDragImageSupported()) {
            Point pt = dge.getDragOrigin();
            dge.startDrag(null, mOwner.getColumnDragImage(mSortColumn), new Point(-(pt.x - mOwner.getColumnStart(mSortColumn)), -pt.y), mSortColumn, this);
        } else {
            dge.startDrag(null, mSortColumn, this);
        }
        mSortColumn = null;
    }
}
 
源代码6 项目: gcs   文件: Outline.java
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    if (mDividerDrag == null && mModel.hasSelection() && allowRowDrag() && hasFocus()) {
        Point        pt        = dge.getDragOrigin();
        RowSelection selection = new RowSelection(mModel, mModel.getSelectionAsList(true).toArray(new Row[0]));
        if (DragSource.isDragImageSupported()) {
            Img   dragImage   = getDragImage(pt.x, pt.y);
            Point imageOffset = new Point(mDragClip.x - pt.x, mDragClip.y - pt.y);
            dge.startDrag(null, dragImage, imageOffset, selection, null);
        } else {
            dge.startDrag(null, selection);
        }
    }
}
 
源代码7 项目: gcs   文件: TreePanel.java
@Override
public void dragGestureRecognized(DragGestureEvent event) {
    mDropReceived = false;
    int   dragAction = event.getDragAction();
    Point where      = new Point(event.getDragOrigin());
    switch (checkAndConvertToArea(where)) {
    case CONTENT:
        if (!mIgnoreNextDragGesture && mDragColumnDivider == -1 && !mSelectedRows.isEmpty() && (dragAction & mAllowedRowDragTypes) != 0) {
            TreeRowSelection selection = new TreeRowSelection(getSelectedRows(), mOpenRows);
            if (DragSource.isDragImageSupported()) {
                Img       dragImage = createDragImage(where);
                Point     imageOffset;
                Rectangle dragClip  = getDragClip();
                imageOffset = dragClip != null ? new Point(dragClip.x - where.x, dragClip.y - where.y) : new Point();
                event.startDrag(null, dragImage, imageOffset, selection, this);
            } else {
                event.startDrag(null, selection, this);
            }
        }
        break;
    case HEADER:
        if (mAllowColumnDrag && dragAction == DnDConstants.ACTION_MOVE && mSortColumn != null) {
            setSourceDragColumn(mSortColumn);
            if (DragSource.isDragImageSupported()) {
                event.startDrag(null, createColumnDragImage(mSortColumn), new Point(-(where.x - getColumnStart(mSortColumn)), -where.y), mSortColumn, this);
            } else {
                event.startDrag(null, mSortColumn, this);
            }
        }
        mSortColumn = null;
        break;
    default:
        break;
    }
}
 
源代码8 项目: gcs   文件: DockTab.java
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
    DockableTransferable transferable = new DockableTransferable(mDockable);
    if (DragSource.isDragImageSupported()) {
        Point offset = new Point(dge.getDragOrigin());
        offset.x = -offset.x;
        offset.y = -offset.y;
        dge.startDrag(null, DragSource.isDragImageSupported() ? UIUtilities.getImage(this) : null, offset, transferable, null);
    } else {
        dge.startDrag(null, transferable);
    }
}
 
源代码9 项目: java-swing-tips   文件: MainPanel.java
@Override public void dragGestureRecognized(DragGestureEvent dge) {
  // System.out.println("dragGestureRecognized");
  Point pt = dge.getDragOrigin();
  TreePath path = getPathForLocation(pt.x, pt.y);
  if (Objects.isNull(path) || Objects.isNull(path.getParentPath())) {
    return;
  }
  // System.out.println("start " + path.toString());
  draggedNode = (TreeNode) path.getLastPathComponent();
  Transferable trans = new TreeNodeTransferable(draggedNode);
  DragSource.getDefaultDragSource().startDrag(dge, Cursor.getDefaultCursor(), trans, new NodeDragSourceListener());
}
 
源代码10 项目: netbeans   文件: DnDSupport.java
public void dragGestureRecognized(DragGestureEvent e) {
    Component c = e.getComponent();
    if( !(c instanceof JComponent) )
        return;

    Transferable t = null;
    try {
        final DataObject dob = (DataObject) ((JComponent) c).getClientProperty("file");
        if( dob != null && c.getParent() instanceof Toolbar && buttonDndAllowed ) {
            //dragging a toolbar button
            sourceToolbar = (Toolbar) c.getParent();
            t = new ExTransferable.Single(buttonDataFlavor) {
                public Object getData() {
                    return dob;
                }
            };
            isToolbarDrag = false;
            isButtonDrag = true;
            dragSourceButtonIndex = sourceToolbar.getComponentIndex(c);
        } else if( Boolean.TRUE.equals( ((JComponent) c).getClientProperty(ToolbarContainer.PROP_DRAGGER) ) ) {
            //dragging the whole toolbar
            final ToolbarContainer container = (ToolbarContainer) c.getParent().getParent();
            if( container.isShowing() ) {
                sourceContainer = container;
                sourceRow = (ToolbarRow) container.getParent();
                t = new ExTransferable.Single(toolbarDataFlavor) {

                    public Object getData() {
                        return container;
                    }
                };
                isToolbarDrag = true;
                isButtonDrag = false;
                startingPoint = new Point(e.getDragOrigin());
                Rectangle bounds = new Rectangle(sourceContainer.getPreferredSize());
                bounds.setLocation(sourceContainer.getLocationOnScreen());
                dragImage = createContentImage(sourceContainer, bounds.getSize());
                sourceRow.dragStarted( sourceContainer );
                dragWindow = createDragWindow( dragImage, bounds );
            }
        }
        if( c instanceof JButton ) {
            ((JButton) c).getModel().setArmed(false);
            ((JButton) c).getModel().setPressed(false);
            ((JButton) c).getModel().setRollover(true);
        }
        if( t != null ) {
            e.startDrag(dragMoveCursor, t, this);
        }
    } catch( InvalidDnDOperationException idoE ) {
        log.log(Level.INFO, null, idoE);
    }
}