拖的时候出现了以下的错误?怎么回事?Exception in thread "AWT-EventQueue-0" java.awt.dnd.InvalidDnDOperationException: Drag and drop in progress at sun.awt.dnd.SunDragSourceContextPeer.setDragDropInProgress(SunDragSourceContextPeer.java:298) at java.awt.dnd.DragSource.startDrag(DragSource.java:286) at java.awt.dnd.DragSource.startDrag(DragSource.java:403) at java.awt.dnd.DragGestureEvent.startDrag(DragGestureEvent.java:223) at client.essp.treetotree.TreeDragSource$1.dragGestureRecognized(TreeDragSource.java:65) at java.awt.dnd.DragGestureRecognizer.fireDragGestureRecognized(DragGestureRecognizer.java:339) at sun.awt.windows.WMouseDragGestureRecognizer.mouseDragged(WMouseDragGestureRecognizer.java:202) at java.awt.AWTEventMulticaster.mouseDragged(AWTEventMulticaster.java:262) at java.awt.AWTEventMulticaster.mouseDragged(AWTEventMulticaster.java:261) at java.awt.Component.processMouseMotionEvent(Component.java:5536) at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3144) at java.awt.Component.processEvent(Component.java:5257) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3955) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3909) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1774) at java.awt.Component.dispatchEvent(Component.java:3803) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)程序段: public DragSource create() {
DragSource dragSource = DragSource.getDefaultDragSource();
final String draggedValue=null; dragSource.createDefaultDragGestureRecognizer(
treeTable.getTreeTable(),
DnDConstants.ACTION_COPY_OR_MOVE,
new DragGestureListener() {
public void dragGestureRecognized(DragGestureEvent event) {
DtoTreeNode dto = (DtoTreeNode) treeTable.getTreeTable().getSelectedNode();
if( dto == null ){
return;
} String draggedValue=((DtoTree) dto.getDataBean()).getName();
Transferable transferable = new TreeTransferable(dto);
event.startDrag(null, transferable, new TreeDragSourceListener(draggedValue));//提示的出错点
}
}); return dragSource;
}
DragSource dragSource = DragSource.getDefaultDragSource();
final String draggedValue=null; dragSource.createDefaultDragGestureRecognizer(
treeTable.getTreeTable(),
DnDConstants.ACTION_COPY_OR_MOVE,
new DragGestureListener() {
public void dragGestureRecognized(DragGestureEvent event) {
DtoTreeNode dto = (DtoTreeNode) treeTable.getTreeTable().getSelectedNode();
if( dto == null ){
return;
} String draggedValue=((DtoTree) dto.getDataBean()).getName();
Transferable transferable = new TreeTransferable(dto);
event.startDrag(null, transferable, new TreeDragSourceListener(draggedValue));//提示的出错点
}
}); return dragSource;
}
我的解決方法是在拖源去掉了//this.getTreeTable().setDragEnabled(true);
其實也就是說,要弄清楚到底哪個對象是拖源。你可以跟蹤調試,多試一下。
你加我QQ如何?拜托啦~多谢多谢
41209041