use of java.awt.dnd.DragSourceContext in project keystore-explorer by kaikramer.
the class KeyStoreEntryDragGestureListener method dragExit.
/**
* Drag target exited.
*
* @param evt
* Drag event
*/
public void dragExit(DragSourceDragEvent evt) {
// Show no drop cursor
DragSourceContext ctx = evt.getDragSourceContext();
ctx.setCursor(DragSource.DefaultCopyNoDrop);
}
use of java.awt.dnd.DragSourceContext in project keystore-explorer by kaikramer.
the class KeyStoreEntryDragGestureListener method dragEnter.
/**
* Drag target entered.
*
* @param evt
* Drag event
*/
@Override
public void dragEnter(DragSourceDragEvent evt) {
// Show drag cursor
DragSourceContext ctx = evt.getDragSourceContext();
ctx.setCursor(cursor);
}
use of java.awt.dnd.DragSourceContext in project jna by java-native-access.
the class DragHandler method describe.
private void describe(String type, DragSourceEvent e) {
if (false) {
DragSourceContext ds = e.getDragSourceContext();
String msg = "drag: " + type;
if (e instanceof DragSourceDragEvent) {
DragSourceDragEvent ev = (DragSourceDragEvent) e;
msg += ": src=" + actionString(ds.getSourceActions()) + " usr=" + actionString(ev.getUserAction()) + " tgt=" + actionString(ev.getTargetActions()) + " act=" + actionString(ev.getDropAction()) + " mods=" + ev.getGestureModifiersEx();
} else {
msg += ": e=" + e;
}
if (!msg.equals(lastAction)) {
System.out.println(lastAction = msg);
}
}
}
use of java.awt.dnd.DragSourceContext in project jdk8u_jdk by JetBrains.
the class TestDragSourceAdapter method main.
public static void main(String[] args) throws Exception {
DragSource ds = new DragSource();
TestDragSourceAdapter dsa1 = new TestDragSourceAdapter(1);
TestDragSourceAdapter dsa2 = new TestDragSourceAdapter(2);
Component c = new Button();
DragGestureRecognizer dgr = ds.createDefaultDragGestureRecognizer(c, DnDConstants.ACTION_COPY, e -> e.startDrag(null, null));
MouseEvent me = new MouseEvent(c, MouseEvent.MOUSE_PRESSED, 0, InputEvent.CTRL_MASK, 100, 100, 0, false);
DragGestureEvent dge = new DragGestureEvent(dgr, DnDConstants.ACTION_COPY, new Point(100, 100), Arrays.asList(me));
DragSourceContext dsc = new DragSourceContext(Toolkit.getDefaultToolkit().createDragSourceContextPeer(dge), dge, new Cursor(Cursor.HAND_CURSOR), null, null, new StringSelection("TEXT"), null);
ds.addDragSourceListener(dsa1);
ds.addDragSourceListener(dsa2);
ds.addDragSourceListener(dsa2);
ds.addDragSourceMotionListener(dsa1);
ds.addDragSourceMotionListener(dsa1);
ds.addDragSourceMotionListener(dsa2);
dsc.addDragSourceListener(dsa2);
byte[] serialized;
try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos)) {
oos.writeObject(dsc);
serialized = bos.toByteArray();
}
DragSourceContext dsc_copy;
try (ByteArrayInputStream bis = new ByteArrayInputStream(serialized);
ObjectInputStream ois = new ObjectInputStream(bis)) {
dsc_copy = (DragSourceContext) ois.readObject();
}
try {
dsc_copy.addDragSourceListener(dsa1);
throw new RuntimeException("Test failed. Listener addition succeeded");
} catch (TooManyListenersException ignored) {
}
try {
dsc_copy.addDragSourceListener(dsa2);
throw new RuntimeException("Test failed. Listener addition succeeded");
} catch (TooManyListenersException ignored) {
}
try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos)) {
oos.writeObject(ds);
serialized = bos.toByteArray();
}
DragSource ds_copy;
try (ByteArrayInputStream bis = new ByteArrayInputStream(serialized);
ObjectInputStream ois = new ObjectInputStream(bis)) {
ds_copy = (DragSource) ois.readObject();
}
DragSourceListener[] dsls = ds_copy.getDragSourceListeners();
assertEquals(3, dsls.length, "DragSourceListeners number");
assertEquals(1, Stream.of(dsls).filter(dsa1::equals).collect(Collectors.counting()).intValue());
assertEquals(2, Stream.of(dsls).filter(dsa2::equals).collect(Collectors.counting()).intValue());
DragSourceMotionListener[] dsmls = ds_copy.getDragSourceMotionListeners();
assertEquals(3, dsmls.length, "DragSourceMotionListeners number");
assertEquals(2, Stream.of(dsmls).filter(dsa1::equals).collect(Collectors.counting()).intValue());
assertEquals(1, Stream.of(dsmls).filter(dsa2::equals).collect(Collectors.counting()).intValue());
}
Aggregations