下面列出了java.awt.dnd.DragGestureEvent#startDrag ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void dragGestureRecognized(DragGestureEvent event) {
// only allow dragging with left mouse button
if (event.getTriggerEvent().getModifiers() != InputEvent.BUTTON1_MASK) {
return;
}
// change cursor to drag move
Cursor cursor = null;
if (event.getDragAction() == DnDConstants.ACTION_COPY) {
cursor = DragSource.DefaultCopyDrop;
}
// set the repository entry as the Transferable
TransferableRepositoryEntry transferable = new TransferableRepositoryEntry(location);
if (usageLogger != null) {
transferable.setUsageStatsLogger(usageLogger);
} else if (usageObject != null) {
transferable.setUsageObject(usageObject);
}
event.startDrag(cursor, transferable);
}
public void dragGestureRecognized(DragGestureEvent dge) {
String [] filesAsStringArray = list.getItems();
File [] files = new File[filesAsStringArray.length];
for (int fileNumber=0; fileNumber<filesAsStringArray.length ; fileNumber++ ) {
files[fileNumber]=new File(filesAsStringArray[fileNumber]);
}
dge.startDrag(null, new FileListTransferable(Arrays.asList(files)));
}
public void dragGestureRecognized(DragGestureEvent dge) {
String [] filesAsStringArray = list.getItems();
File [] files = new File[filesAsStringArray.length];
for (int fileNumber=0; fileNumber<filesAsStringArray.length ; fileNumber++ ) {
files[fileNumber]=new File(filesAsStringArray[fileNumber]);
}
dge.startDrag(null, new FileListTransferable(Arrays.asList(files)));
}
public void dragGestureRecognized(DragGestureEvent dge) {
String [] filesAsStringArray = list.getItems();
File [] files = new File[filesAsStringArray.length];
for (int fileNumber=0; fileNumber<filesAsStringArray.length ; fileNumber++ ) {
files[fileNumber]=new File(filesAsStringArray[fileNumber]);
}
dge.startDrag(null, new FileListTransferable(Arrays.asList(files)));
}
@Override public void dragGestureRecognized(DragGestureEvent e) {
boolean isMoreThanOneRowSelected = getSelectedRowCount() > 1;
if (isMoreThanOneRowSelected) {
return;
}
draggedIndex = rowAtPoint(e.getDragOrigin());
if (draggedIndex < 0) {
return;
}
try {
e.startDrag(DragSource.DefaultMoveDrop, (Transferable) this, new TableDragSourceListener());
} catch (InvalidDnDOperationException ex) {
throw new IllegalStateException(ex);
}
}
public void dragGestureRecognized(DragGestureEvent dge) {
java.util.List<URI> uriList = Stream.of(list.getItems())
.map(File::new)
.map(File::toURI)
.collect(Collectors.toList());
dge.startDrag(null, new URIListTransferable(uriList));
}
public void dragGestureRecognized(DragGestureEvent dge) {
java.util.List<URI> uriList = Stream.of(list.getItems())
.map(File::new)
.map(File::toURI)
.collect(Collectors.toList());
dge.startDrag(null, new URIListTransferable(uriList));
}
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new MyTransferable());
}
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new FileListTransferable());
}
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new StringSelection("A TEXT"));
}
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new FileListTransferable());
}
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(Cursor.getDefaultCursor(), new StringSelection("test"));
}
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new MyTransferable());
}
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new FileListTransferable());
}
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new StringSelection("A TEXT"));
}
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(Cursor.getDefaultCursor(), new StringSelection("test"));
}
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new StringTransferable());
}
public void run() {
frame = new Frame();
final DragSourceListener dragSourceListener = new DragSourceAdapter() {
public void dragDropEnd(DragSourceDropEvent e) {
dropSuccess = e.getDropSuccess();
System.err.println("Drop was successful: " + dropSuccess);
}
};
DragGestureListener dragGestureListener = new DragGestureListener() {
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new StringSelection("OK"), dragSourceListener);
}
};
new DragSource().createDefaultDragGestureRecognizer(frame, DnDConstants.ACTION_MOVE,
dragGestureListener);
DropTargetAdapter dropTargetListener = new DropTargetAdapter() {
public void drop(DropTargetDropEvent dtde) {
dtde.acceptDrop(DnDConstants.ACTION_MOVE);
dtde.dropComplete(true);
System.err.println("Drop");
}
};
new DropTarget(frame, dropTargetListener);
//What would normally go into main() will probably go here.
//Use System.out.println for diagnostic messages that you want
//to read after the test is done.
frame.setUndecorated(true);
frame.setBounds(100, 100, 200, 200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
Robot robot = Util.createRobot();
Util.waitForIdle(robot);
Point startPoint = frame.getLocationOnScreen();
Point endPoint = new Point(startPoint);
startPoint.translate(50, 50);
endPoint.translate(150, 150);
Util.drag(robot, startPoint, endPoint, InputEvent.BUTTON2_MASK);
Util.waitForIdle(robot);
robot.delay(500);
if (dropSuccess) {
System.err.println("test passed");
} else {
throw new RuntimeException("test failed: drop was not successful");
}
}
@Override
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(Cursor.getDefaultCursor(), new StringSelection("test"));
}
public void dragGestureRecognized(DragGestureEvent dge) {
dge.startDrag(null, new FileListTransferable());
}