小编use*_*333的帖子

拖放拖放

我需要一些帮助.是否可以在不注册组件的情况下模拟拖放操作?
例如,我在窗口的任何地方单击鼠标键并按住鼠标键,此时,我想DragSourceEvent用Java 以编程方式创建或模拟鼠标键.

这可能吗?

更新:

关于Bob的回复,至少我明白了,我可以为拖放创建一个监听器:

DragSource dragSource = new DragSource();
DragGestureListener listener = new DragGestureListener() {
    public void dragGestureRecognized(DragGestureEvent event) {
        event.startDrag (null, strSel) ;
        ...
    }
}

listener.dragGestureRecognized(new DragGestureEvent(
       new DragGestureRecognizer(dragSource, component) {

}, DnDConstants.ACTION_COPY, new Point(0,0), events ));
Run Code Online (Sandbox Code Playgroud)

但不幸的是我得到了这个例外:

java.lang.IllegalArgumentException:java.awt.dnd.DragSource上的java.awt.dnd.DragSource.createDragSourceContext(DragSource.java:454)中java.awt.dnd.DragSourceContext.(DragSourceContext.java:169)的源操作. java.awt.dnd.DragGestureEvent.startDrag(DragGestureEvent.java:203)中java.awt.dnd.DragSource.startDrag(DragSource.java:403)的startDrag(DragSource.java:293)

有什么建议?

java swing

5
推荐指数
1
解决办法
791
查看次数

标签 统计

java ×1

swing ×1