下面列出了javax.swing.TransferHandler#exportAsDrag ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void mouseDragged(MouseEvent ev) {
Point p = ev.getPoint();
if (!recognized
&& ev.isShiftDown()
&& ((Math.abs(pressedPoint.x - p.x) > 5) || (Math
.abs(pressedPoint.y - p.y) > 5))) {
dragged = true;
recognized = true;
JComponent c = (JComponent) ev.getSource();
TransferHandler th = c.getTransferHandler();
if (th != null) {
th.exportAsDrag(c, ev, ev.isAltDown() ?
DnDConstants.ACTION_COPY : DnDConstants.ACTION_MOVE);
}
}
}
@Override
public void mouseDragged(MouseEvent e) {
if (firstMouseEvent != null) {
e.consume();
final int dx = Math.abs(e.getX() - firstMouseEvent.getX());
final int dy = Math.abs(e.getY() - firstMouseEvent.getY());
if (dx > 5 || dy > 5) {
final JComponent c = (JComponent) e.getSource();
final TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, firstMouseEvent, TransferHandler.COPY);
firstMouseEvent = null;
}
}
}
@Override
public void mousePressed(MouseEvent e) {
NWidget c = (NWidget) e.getSource();
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.COPY);
}
public final void startDrag(MouseEvent e) {
if(enable){
if (!(this.getSelected() instanceof GScreen) && !(this.getSelected() instanceof GLayer)) {
JPanel c = (JPanel) e.getComponent();
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.MOVE);
this.niftyView.getDDManager().startDrag(this.getSelected());
}
}
}
/**
* Handles drag and drop.
*
* @param e - the mousedragged event to handle drag and drop from.
*/
@Override
public void mouseDragged(MouseEvent e) {
final JComponent c = (JComponent)e.getSource();
JiveTreeNode node = (JiveTreeNode)getLastSelectedPathComponent();
if (node == null) {
return;
}
if (node.isLeaf()) {
TransferHandler handler = c.getTransferHandler();
handler.exportAsDrag(c, e, TransferHandler.COPY);
}
}