List of usage examples for java.awt.datatransfer Transferable getTransferData
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException;
From source file:com.netease.dagger.BrowserEmulator.java
/** * Paste text from clipboard content//w w w.ja v a2 s .co m */ public String getClipboardContent() { pause(stepInterval); try { String text = ""; Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable data = clip.getContents(null); if (data != null) { if (data.isDataFlavorSupported(DataFlavor.stringFlavor)) { text = (String) data.getTransferData(DataFlavor.stringFlavor); } } return text; } catch (Exception e) { e.printStackTrace(); handleFailure("Failed to get clipboard content"); } logger.info("Success to get clipboard content"); return null; }
From source file:com.mirth.connect.client.ui.editors.filter.FilterPane.java
public void drop(DropTargetDropEvent dtde) { try {/*from ww w . ja v a 2 s .c o m*/ dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); Transferable tr = dtde.getTransferable(); if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { List<File> fileList = (List<File>) tr.getTransferData(DataFlavor.javaFileListFlavor); Iterator<File> iterator = fileList.iterator(); if (fileList.size() == 1) { File file = (File) iterator.next(); importFilter(parent.readFileToString(file)); } } else if (tr.isDataFlavorSupported(TreeTransferable.RULE_DATA_FLAVOR)) { Object transferData = tr.getTransferData(TreeTransferable.RULE_DATA_FLAVOR); if (transferData instanceof RuleDropData) { RuleDropData data = (RuleDropData) transferData; addNewRule(MirthTree.constructNodeDescription(data.getNode()), data.getMapping()); } } } catch (Exception e) { dtde.rejectDrop(); } }
From source file:EditorDropTarget3.java
protected boolean dropContent(Transferable transferable, DropTargetDropEvent dtde) { if (!pane.isEditable()) { // Can't drop content on a read-only text control return false; }/*www . j a v a2s . c om*/ try { // Check for a match with the current content type DataFlavor[] flavors = dtde.getCurrentDataFlavors(); DataFlavor selectedFlavor = null; // Look for either plain text or a String. for (int i = 0; i < flavors.length; i++) { DataFlavor flavor = flavors[i]; DnDUtils.debugPrintln("Drop MIME type " + flavor.getMimeType() + " is available"); if (flavor.equals(DataFlavor.plainTextFlavor) || flavor.equals(DataFlavor.stringFlavor)) { selectedFlavor = flavor; break; } } if (selectedFlavor == null) { // No compatible flavor - should never happen return false; } DnDUtils.debugPrintln("Selected flavor is " + selectedFlavor.getHumanPresentableName()); // Get the transferable and then obtain the data Object data = transferable.getTransferData(selectedFlavor); DnDUtils.debugPrintln("Transfer data type is " + data.getClass().getName()); String insertData = null; if (data instanceof InputStream) { // Plain text flavor String charSet = selectedFlavor.getParameter("charset"); InputStream is = (InputStream) data; byte[] bytes = new byte[is.available()]; is.read(bytes); try { insertData = new String(bytes, charSet); } catch (UnsupportedEncodingException e) { // Use the platform default encoding insertData = new String(bytes); } } else if (data instanceof String) { // String flavor insertData = (String) data; } if (insertData != null) { int selectionStart = pane.getCaretPosition(); pane.replaceSelection(insertData); pane.select(selectionStart, selectionStart + insertData.length()); return true; } return false; } catch (Exception e) { return false; } }
From source file:com.mirth.connect.client.ui.editors.filter.FilterPane.java
public void dragEnter(DropTargetDragEvent dtde) { try {/*w ww .j ava2 s .co m*/ Transferable tr = dtde.getTransferable(); if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE); List fileList = (List) tr.getTransferData(DataFlavor.javaFileListFlavor); Iterator iterator = fileList.iterator(); if (iterator.hasNext() && fileList.size() == 1) { String fileName = ((File) iterator.next()).getName(); if (!fileName.substring(fileName.lastIndexOf(".")).equalsIgnoreCase(".xml")) { dtde.rejectDrag(); } } else { dtde.rejectDrag(); } } else if (tr.isDataFlavorSupported(TreeTransferable.RULE_DATA_FLAVOR)) { dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE); } else { dtde.rejectDrag(); } } catch (Exception e) { dtde.rejectDrag(); } }
From source file:EditorDropTarget4.java
protected boolean dropContent(Transferable transferable, DropTargetDropEvent dtde) { if (!pane.isEditable()) { // Can't drop content on a read-only text control return false; }//from ww w. ja va 2 s. c o m try { // Check for a match with the current content type DataFlavor[] flavors = dtde.getCurrentDataFlavors(); DataFlavor selectedFlavor = null; // Look for either plain text or a String. for (int i = 0; i < flavors.length; i++) { DataFlavor flavor = flavors[i]; DnDUtils.debugPrintln("Drop MIME type " + flavor.getMimeType() + " is available"); if (flavor.equals(DataFlavor.plainTextFlavor) || flavor.equals(DataFlavor.stringFlavor)) { selectedFlavor = flavor; break; } } if (selectedFlavor == null) { // No compatible flavor - should never happen return false; } DnDUtils.debugPrintln("Selected flavor is " + selectedFlavor.getHumanPresentableName()); // Get the transferable and then obtain the data Object data = transferable.getTransferData(selectedFlavor); DnDUtils.debugPrintln("Transfer data type is " + data.getClass().getName()); String insertData = null; if (data instanceof InputStream) { // Plain text flavor String charSet = selectedFlavor.getParameter("charset"); InputStream is = (InputStream) data; byte[] bytes = new byte[is.available()]; is.read(bytes); try { insertData = new String(bytes, charSet); } catch (UnsupportedEncodingException e) { // Use the platform default encoding insertData = new String(bytes); } } else if (data instanceof String) { // String flavor insertData = (String) data; } if (insertData != null) { int selectionStart = pane.getCaretPosition(); pane.replaceSelection(insertData); pane.select(selectionStart, selectionStart + insertData.length()); return true; } return false; } catch (Exception e) { return false; } }
From source file:com.mirth.connect.client.ui.editors.transformer.TransformerPane.java
public void dragEnter(DropTargetDragEvent dtde) { try {// www .ja v a 2 s . co m Transferable tr = dtde.getTransferable(); if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE); List fileList = (List) tr.getTransferData(DataFlavor.javaFileListFlavor); Iterator iterator = fileList.iterator(); if (iterator.hasNext() && fileList.size() == 1) { String fileName = ((File) iterator.next()).getName(); if (!fileName.substring(fileName.lastIndexOf(".")).equalsIgnoreCase(".xml")) { dtde.rejectDrag(); } } else { dtde.rejectDrag(); } } else if (tr.isDataFlavorSupported(TreeTransferable.MAPPER_DATA_FLAVOR) || tr.isDataFlavorSupported(TreeTransferable.MESSAGE_BUILDER_DATA_FLAVOR)) { dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE); } else { dtde.rejectDrag(); } } catch (Exception e) { dtde.rejectDrag(); } }
From source file:com.mirth.connect.client.ui.editors.transformer.TransformerPane.java
public void drop(DropTargetDropEvent dtde) { try {/* w w w .j a v a 2 s . c o m*/ Transferable tr = dtde.getTransferable(); if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); List<File> fileList = (List<File>) tr.getTransferData(DataFlavor.javaFileListFlavor); Iterator<File> iterator = fileList.iterator(); if (fileList.size() == 1) { File file = (File) iterator.next(); importTransformer(parent.readFileToString(file)); } } else if (tr.isDataFlavorSupported(TreeTransferable.MAPPER_DATA_FLAVOR) || tr.isDataFlavorSupported(TreeTransferable.MESSAGE_BUILDER_DATA_FLAVOR)) { dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); Object mapperTransferData = tr.getTransferData(TreeTransferable.MAPPER_DATA_FLAVOR); Object messageBuilderTransferData = tr .getTransferData(TreeTransferable.MESSAGE_BUILDER_DATA_FLAVOR); if (mapperTransferData != null && !parent.isAcceleratorKeyPressed()) { Object transferData = tr.getTransferData(TreeTransferable.MAPPER_DATA_FLAVOR); MapperDropData data = (MapperDropData) transferData; addNewStep(data.getVariable(), data.getVariable(), data.getMapping(), MAPPER); } else if (mapperTransferData != null && parent.isAcceleratorKeyPressed()) { Object transferData = tr.getTransferData(TreeTransferable.MAPPER_DATA_FLAVOR); MapperDropData data2 = (MapperDropData) transferData; MessageBuilderDropData data = new MessageBuilderDropData(data2.getNode(), MirthTree.constructPath(data2.getNode().getParent(), "msg", "").toString(), ""); addNewStep(MirthTree.constructMessageBuilderStepName(null, data.getNode()), data.getMessageSegment(), data.getMapping(), MESSAGE_BUILDER); } else if (messageBuilderTransferData != null) { Object transferData = tr.getTransferData(TreeTransferable.MESSAGE_BUILDER_DATA_FLAVOR); MessageBuilderDropData data = (MessageBuilderDropData) transferData; addNewStep(MirthTree.constructMessageBuilderStepName(null, data.getNode()), data.getMessageSegment(), data.getMapping(), MESSAGE_BUILDER); } } } catch (Exception e) { dtde.rejectDrop(); } }
From source file:org.kuali.test.ui.dnd.RepositoryDropTargetAdapter.java
private boolean canDrop(DropTargetEvent dte) { boolean retval = false; try {//from ww w .j a va 2 s . c o m if (dte.getDropTargetContext().getComponent() == repositoryTree) { Point pt = null; Transferable t = null; int ops = -1; DataFlavor dataFlavor = null; if (dte instanceof DropTargetDragEvent) { pt = ((DropTargetDragEvent) dte).getLocation(); t = ((DropTargetDragEvent) dte).getTransferable(); ops = ((DropTargetDragEvent) dte).getSourceActions(); dataFlavor = ((DropTargetDragEvent) dte).getCurrentDataFlavors()[0]; } else if (dte instanceof DropTargetDropEvent) { pt = ((DropTargetDropEvent) dte).getLocation(); t = ((DropTargetDropEvent) dte).getTransferable(); ops = ((DropTargetDropEvent) dte).getSourceActions(); dataFlavor = ((DropTargetDropEvent) dte).getCurrentDataFlavors()[0]; } if ((pt != null) && (t != null)) { if (isTestLinkTransfer(t, ops, dataFlavor)) { DefaultMutableTreeNode node = getNodeAtPoint(pt); if (node != null) { Object uo = node.getUserObject(); if (uo != null) { if (uo instanceof TestSuite) { TestSuite testSuite = (TestSuite) uo; RepositoryTransferData<Platform, List<String>> data = (RepositoryTransferData<Platform, List<String>>) t .getTransferData(dataFlavor); retval = (StringUtils.equalsIgnoreCase(data.getTarget().getName(), testSuite.getPlatformName())); } } } } else if (isTestOrderTransfer(t, ops, dataFlavor)) { DefaultMutableTreeNode node = getNodeAtPoint(pt); if (node != null) { Object uo = node.getUserObject(); if (uo != null) { if (uo instanceof SuiteTest) { SuiteTest targetSuiteTest = (SuiteTest) uo; RepositoryTransferData<TestSuite, SuiteTest> data = (RepositoryTransferData<TestSuite, SuiteTest>) t .getTransferData(dataFlavor); retval = (StringUtils.equalsIgnoreCase(data.getTarget().getPlatformName(), targetSuiteTest.getTestHeader().getPlatformName()) && !StringUtils.equalsIgnoreCase( targetSuiteTest.getTestHeader().getTestName(), data.getData().getTestHeader().getTestName()) && (targetSuiteTest.getIndex() != data.getData().getIndex())); } } } } } } } catch (Exception ex) { LOG.warn(ex.toString(), ex); } return retval; }
From source file:com.emental.mindraider.ui.frames.MindRaiderMainWindow.java
public void drop(DropTargetDropEvent evt) { logger.debug("=-> drop"); try {//w ww . java 2 s .c o m Transferable t = evt.getTransferable(); if (t.isDataFlavorSupported(DataFlavor.stringFlavor)) { logger.debug(" Accepting 'string' data flavor..."); evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); String s = (String) t.getTransferData(DataFlavor.stringFlavor); evt.getDropTargetContext().dropComplete(true); logger.debug("DnD: '" + s + "'"); if (s != null) { int indexOf = s.indexOf("\n"); if (indexOf != -1) { dragAndDropReference = new DragAndDropReference(s.substring(indexOf + 1), s.substring(0, indexOf), DragAndDropReference.BROWSER_LINK); } else { dragAndDropReference = new DragAndDropReference(s, DragAndDropReference.BROWSER_LINK); } } } else { if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { logger.debug(" Accepting 'file list' data flavor..."); evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); List<Object> list = (List<Object>) t.getTransferData(DataFlavor.javaFileListFlavor); if (list != null) { Iterator<Object> iterator = list.iterator(); while (iterator.hasNext()) { Object next = iterator.next(); if (next instanceof File) { logger.debug(" DnD file: " + next); dragAndDropReference = new DragAndDropReference(((File) next).getAbsolutePath(), DragAndDropReference.EXPLORER_LINK); } } } } else { logger.debug("DnD rejected! "); dragAndDropReference = null; // DataFlavor[] dfs=t.getTransferDataFlavors(); // for (int i = 0; i < dfs.length; i++) { // logger.debug(" "+i+" ... "+dfs[i].getMimeType()); // logger.debug(" "+i+" ... // "+dfs[i].getDefaultRepresentationClassAsString()); // logger.debug(" "+i+" ... // "+dfs[i].getHumanPresentableName()); // } } } } catch (Exception e) { logger.debug("Drag&Drop error:", e); dragAndDropReference = null; } OutlineJPanel.getInstance().enableDisableAttachToolbarButton(); if (dragAndDropReference != null) { JOptionPane.showMessageDialog(this, "Dropped local/web resource reference stored! Use \n'clip' icon from Notebook outline toolbar to attach it.", "Drag&Drop Info", JOptionPane.INFORMATION_MESSAGE); dragAndDropReference.debug(); } logger.debug("<-= drop"); }
From source file:net.sf.nmedit.nomad.core.Nomad.java
private void export(Transferable transferable, DataFlavor flavor) { File file = getExportFile();/*ww w .j a va 2 s .c om*/ if (file == null) return; Reader reader; try { reader = flavor.getReaderForText(transferable); } catch (Exception e) { reader = null; } if (reader != null) { try { FileOutputStream out = new FileOutputStream(file); try { int data; while ((data = reader.read()) != -1) { out.write(data); } out.flush(); } finally { out.close(); } } catch (Exception e) { throw new RuntimeException(e); } return; } if (DataFlavor.imageFlavor.match(flavor)) { Image image; try { image = (Image) transferable.getTransferData(flavor); } catch (Exception e) { throw new RuntimeException(e); } try { ImageIO.write((RenderedImage) image, "png", file); } catch (IOException e) { throw new RuntimeException(e); } } // else report unsupported flavor }