1 24 25 package org.objectweb.cjdbc.console.gui.dnd.listeners; 26 27 import java.awt.Component ; 28 import java.awt.datatransfer.DataFlavor ; 29 import java.awt.datatransfer.Transferable ; 30 import java.awt.dnd.DnDConstants ; 31 import java.awt.dnd.DropTarget ; 32 import java.awt.dnd.DropTargetDropEvent ; 33 34 import javax.swing.JButton ; 35 import javax.swing.JPanel ; 36 37 import org.objectweb.cjdbc.console.gui.CjdbcGui; 38 39 45 public class BackendTransferListener extends AbstractGuiDropListener 46 { 47 48 53 public BackendTransferListener(CjdbcGui gui) 54 { 55 super(gui); 56 } 57 58 61 public void drop(DropTargetDropEvent dtde) 62 { 63 dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); 64 DropTarget target = dtde.getDropTargetContext().getDropTarget(); 65 Transferable transfer = dtde.getTransferable(); 66 67 68 Component comp = target.getComponent(); 69 try 70 { 71 Object data = transfer.getTransferData(DataFlavor.stringFlavor); 72 if (comp instanceof JButton ) 73 gui.publicActionExecuteBackendDrop((JButton ) comp, data.toString()); 74 else if (comp instanceof JPanel ) 75 gui.publicActionExecuteBackendDrop((JPanel ) comp, data.toString()); 76 77 } 78 catch (Exception e) 79 { 80 gui.appendDebugText("Failed to execute Drag and drop for target:" 81 + comp.getName(),e); 82 } 83 finally 84 { 85 dtde.getDropTargetContext().removeNotify(); 86 dtde.dropComplete(true); 87 gui.publicActionRefreshCursorShape(); 88 } 89 dtde.getDropTargetContext().removeNotify(); 90 91 dtde.dropComplete(true); 92 93 } 94 } 95 | Popular Tags |