1 24 25 package org.objectweb.cjdbc.console.gui.dnd.listeners; 26 27 import java.awt.datatransfer.DataFlavor ; 28 import java.awt.datatransfer.Transferable ; 29 import java.awt.dnd.DnDConstants ; 30 import java.awt.dnd.DropTarget ; 31 import java.awt.dnd.DropTargetDropEvent ; 32 33 import javax.swing.JButton ; 34 35 import org.objectweb.cjdbc.console.gui.CjdbcGui; 36 37 44 public class ControllerTransferListener extends AbstractGuiDropListener 45 { 46 47 53 public ControllerTransferListener(CjdbcGui gui) 54 { 55 super(gui); 56 } 57 58 59 62 public void drop(DropTargetDropEvent dtde) 63 { 64 dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); 65 DropTarget target = ((DropTarget ) dtde.getSource()); 66 Transferable transfer = dtde.getTransferable(); 67 68 JButton bo = (JButton ) target.getComponent(); 69 try 70 { 71 Object data = transfer.getTransferData(DataFlavor.plainTextFlavor); 73 if(data==null) 74 { 75 data = transfer.getTransferData(DataFlavor.stringFlavor); 77 gui.publicActionExecuteControllerDrop(data.toString(), bo.getText()); 78 } 79 else 80 { 81 gui.publicActionExecuteTransfer(data.toString(),bo.getText()); 83 } 84 dtde.dropComplete(true); 85 } 86 catch (Exception e) 87 { 88 dtde.dropComplete(true); 89 gui.appendDebugText("Failed to execute Drag and drop for targer:" 90 + bo.getText()); 91 } 92 finally 93 { 94 dtde.dropComplete(true); 95 gui.publicActionRefreshCursorShape(); 96 } 97 } 98 } 99 | Popular Tags |