Java Code Examples for java.awt.datatransfer.Transferable#getTransferData()
The following examples show how to use
java.awt.datatransfer.Transferable#getTransferData() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DragAndDropDataNodeTest.java From netbeans with Apache License 2.0 | 6 votes |
public void testClipboardCopy() throws IOException, ClassNotFoundException, UnsupportedFlavorException { DataFlavor uriListFlavor = new DataFlavor("text/uri-list;class=java.lang.String"); FileObject fo = FileUtil.createData( testFileSystem.getRoot(), "dndtest.txt" ); File tmpFile = FileUtil.toFile( fo ); DataObject dob = DataObject.find( fo ); DataNode node = new DataNode( dob, Children.LEAF ); Transferable t = node.clipboardCopy(); assertTrue( t.isDataFlavorSupported( DataFlavor.javaFileListFlavor ) ); List fileList = (List) t.getTransferData( DataFlavor.javaFileListFlavor ); assertNotNull( fileList ); assertEquals( 1, fileList.size() ); assertTrue( fileList.contains( tmpFile ) ); assertTrue( t.isDataFlavorSupported( uriListFlavor ) ); String uriList = (String) t.getTransferData( uriListFlavor ); assertEquals( Utilities.toURI(tmpFile)+"\r\n", uriList ); }
Example 2
Source File: TabbedPaneTransferHandler.java From darklaf with MIT License | 6 votes |
/** * Called when the drag-and-drop operation has just completed. This creates a new tab identical to the one * "dragged" and places it in the destination <code>JTabbedPane</code>. * * @param c The component receiving the "drop" (the instance of * <code>JTabbedPane</code>). * @param t The data being transfered (information about the tab and the component contained by the tab). * @return Whether or not the import was successful. */ @Override public boolean importData(final JComponent c, final Transferable t) { boolean successful = false; if (hasTabFlavor(t.getTransferDataFlavors()) && mouseLocation != null) { try { JTabbedPane tabbedPane = (JTabbedPane) c; int tab = TabbedPaneUtil.getDroppedTabIndex(currentTransferable.getTabBounds(), tabbedPane, supportsIndicator(tabbedPane), mouseLocation); TabTransferable.TabTransferData td = (TabTransferable.TabTransferData) t.getTransferData(tabFlavor); if (!TabbedPaneUtil.moveTabs(td.sourceTabbedPane, tabbedPane, td.tabIndex, tab)) { return true; } successful = true; DarkTabbedPaneUI ui = supportsIndicator(c); if (ui != null) { ui.clearDropIndicator(); } } catch (Exception e) { e.printStackTrace(); } } return successful; }
Example 3
Source File: DataTransferer.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
private String getBestCharsetForTextFormat(Long lFormat, Transferable localeTransferable) throws IOException { String charset = null; if (localeTransferable != null && isLocaleDependentTextFormat(lFormat) && localeTransferable.isDataFlavorSupported(javaTextEncodingFlavor)) { try { charset = new String( (byte[])localeTransferable.getTransferData(javaTextEncodingFlavor), "UTF-8" ); } catch (UnsupportedFlavorException cannotHappen) { } } else { charset = getCharsetForTextFormat(lFormat); } if (charset == null) { // Only happens when we have a custom text type. charset = getDefaultTextCharset(); } return charset; }
Example 4
Source File: PlainDictionaryPcJFX.java From mdict-java with GNU General Public License v3.0 | 6 votes |
private void checkClipBoard() { if(clipboard==null) clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); Transferable trans = clipboard.getContents(null); if (trans != null) { if (trans.isDataFlavorSupported(DataFlavor.stringFlavor)) { try { String text = (String) trans.getTransferData(DataFlavor.stringFlavor); if(!text.equals(lastPasteItem)){ CMN.Log("剪贴板", text); etSearch.setText(text); lastPasteItem=text; } } catch (Exception e) { } } } }
Example 5
Source File: Utils.java From lizzie with GNU General Public License v3.0 | 6 votes |
@Override public boolean importData(JComponent comp, Transferable t) { try { Object o = t.getTransferData(DataFlavor.javaFileListFlavor); String filePath = o.toString(); if (filePath.startsWith("[")) { filePath = filePath.substring(1); } if (filePath.endsWith("]")) { filePath = filePath.substring(0, filePath.length() - 1); } if (!(filePath.endsWith(".sgf") || filePath.endsWith(".gib"))) { return false; } File file = new File(filePath); Lizzie.frame.loadFile(file); } catch (Exception e) { e.printStackTrace(); } return true; }
Example 6
Source File: ItemTest.java From netbeans with Apache License 2.0 | 6 votes |
/** * Test of cut method, of class org.netbeans.modules.palette.Item. */ public void testCut() throws Exception { PaletteActions actions = new DummyActions(); PaletteController pc = PaletteFactory.createPalette( getRootFolderName(), actions ); Model model = pc.getModel(); Category[] categories = model.getCategories(); for( int i=0; i<categories.length; i++ ) { Item[] items = categories[i].getItems(); for( int j=0; j<items.length; j++ ) { Transferable t = items[j].cut(); assertNotNull( t ); assertTrue( t.isDataFlavorSupported( PaletteController.ITEM_DATA_FLAVOR ) ); Lookup lookup = (Lookup)t.getTransferData( PaletteController.ITEM_DATA_FLAVOR ); assertNotNull( lookup ); Node node = (Node)lookup.lookup( Node.class ); assertEquals( itemNames[i][j], node.getName() ); } } }
Example 7
Source File: ItemTest.java From netbeans with Apache License 2.0 | 6 votes |
/** * Test of drag method, of class org.netbeans.modules.palette.Item. */ public void testDrag() throws Exception { PaletteActions actions = new DummyActions(); PaletteController pc = PaletteFactory.createPalette( getRootFolderName(), actions ); Model model = pc.getModel(); Category[] categories = model.getCategories(); for( int i=0; i<categories.length; i++ ) { Item[] items = categories[i].getItems(); for( int j=0; j<items.length; j++ ) { Transferable t = items[j].drag(); assertNotNull( t ); assertTrue( t.isDataFlavorSupported( PaletteController.ITEM_DATA_FLAVOR ) ); Lookup lookup = (Lookup)t.getTransferData( PaletteController.ITEM_DATA_FLAVOR ); assertNotNull( lookup ); Node node = (Node)lookup.lookup( Node.class ); assertEquals( itemNames[i][j], node.getName() ); } } }
Example 8
Source File: DataTransferer.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
private String getBestCharsetForTextFormat(Long lFormat, Transferable localeTransferable) throws IOException { String charset = null; if (localeTransferable != null && isLocaleDependentTextFormat(lFormat) && localeTransferable.isDataFlavorSupported(javaTextEncodingFlavor)) { try { charset = new String( (byte[])localeTransferable.getTransferData(javaTextEncodingFlavor), "UTF-8" ); } catch (UnsupportedFlavorException cannotHappen) { } } else { charset = getCharsetForTextFormat(lFormat); } if (charset == null) { // Only happens when we have a custom text type. charset = getDefaultTextCharset(); } return charset; }
Example 9
Source File: LastNodeLowerHalfDrop.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
@Override public boolean importData(TransferHandler.TransferSupport support) { if (!canImport(support)) { return false; } // Extract transfer data. DefaultMutableTreeNode[] nodes = null; try { Transferable t = support.getTransferable(); nodes = (DefaultMutableTreeNode[]) t.getTransferData(nodesFlavor); } catch (UnsupportedFlavorException ufe) { System.out.println("UnsupportedFlavor: " + ufe.getMessage()); } catch (java.io.IOException ioe) { System.out.println("I/O error: " + ioe.getMessage()); } // Get drop location info. JTree.DropLocation dl = (JTree.DropLocation) support.getDropLocation(); int childIndex = dl.getChildIndex(); TreePath dest = dl.getPath(); DefaultMutableTreeNode parent = (DefaultMutableTreeNode) dest.getLastPathComponent(); JTree tree = (JTree) support.getComponent(); DefaultTreeModel model = (DefaultTreeModel) tree.getModel(); // Configure for drop mode. int index = childIndex; // DropMode.INSERT if (childIndex == -1) { // DropMode.ON index = parent.getChildCount(); } // Add data to model. for (DefaultMutableTreeNode node : nodes) { model.insertNodeInto(node, parent, index++); } return true; }
Example 10
Source File: DoTypeProcessor.java From htmlunit with Apache License 2.0 | 5 votes |
private static String getClipboardContent() { String result = ""; final Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); final Transferable contents = clipboard.getContents(null); if (contents != null && contents.isDataFlavorSupported(DataFlavor.stringFlavor)) { try { result = (String) contents.getTransferData(DataFlavor.stringFlavor); } catch (final UnsupportedFlavorException | IOException ex) { } } return result; }
Example 11
Source File: ClipboardTool.java From foolqq with BSD 2-Clause "Simplified" License | 5 votes |
public static String getSystemClipboard() { Clipboard sysClb = null; sysClb = Toolkit.getDefaultToolkit().getSystemClipboard(); try { Transferable t = sysClb.getContents(null); if (null != t && t.isDataFlavorSupported(DataFlavor.stringFlavor)) { String text = (String) t.getTransferData(DataFlavor.stringFlavor); return text; } } catch (Exception e) { e.printStackTrace(); } return null; }
Example 12
Source File: ImageTransferTest.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
void checkImage(DropTargetDropEvent dtde) { final Transferable t = dtde.getTransferable(); if (t.isDataFlavorSupported(DataFlavor.imageFlavor)) { dtde.acceptDrop(DnDConstants.ACTION_COPY); Image im; try { im = (Image) t.getTransferData(DataFlavor.imageFlavor); System.err.println("getTransferData was successful"); } catch (Exception e) { System.err.println("Can't getTransferData: " + e); dtde.dropComplete(false); notifyTransferSuccess(false); return; } if (im == null) { System.err.println("getTransferData returned null"); dtde.dropComplete(false); notifyTransferSuccess(false); } else if (areImagesIdentical(image, im)) { dtde.dropComplete(true); notifyTransferSuccess(true); } else { System.err.println("transferred image is different from initial image"); dtde.dropComplete(false); notifyTransferSuccess(false); } } else { System.err.println("imageFlavor is not supported by Transferable"); dtde.rejectDrop(); notifyTransferSuccess(false); } }
Example 13
Source File: ListTransferHandler.java From marathonv5 with Apache License 2.0 | 5 votes |
@Override public boolean importData(TransferHandler.TransferSupport info) { if (!info.isDrop()) { return false; } JList list = (JList) info.getComponent(); DefaultListModel listModel = (DefaultListModel) list.getModel(); JList.DropLocation dl = (JList.DropLocation) info.getDropLocation(); int index = dl.getIndex(); boolean insert = dl.isInsert(); // Get the string that is being dropped. Transferable t = info.getTransferable(); String data; try { data = (String) t.getTransferData(DataFlavor.stringFlavor); } catch (Exception e) { return false; } // Perform the actual import. if (insert) { listModel.add(index, data); } else { listModel.set(index, data); } return true; }
Example 14
Source File: NodeTransfer.java From netbeans with Apache License 2.0 | 5 votes |
/** Obtain a node from a transferable. * Probes the transferable in case it includes a flavor corresponding * to a node operation (which you must specify a mask for). * * @param t transferable * @param action one of the <code>DND_*</code> or <code>CLIPBOARD_*</code> constants * @return the node or <code>null</code> */ public static Node node(Transferable t, int action) { DataFlavor[] flavors = t.getTransferDataFlavors(); if (flavors == null) { return null; } int len = flavors.length; String subtype = "x-java-openide-nodednd"; // NOI18N String primary = "application"; // NOI18N String mask = "mask"; // NOI18N for (int i = 0; i < len; i++) { DataFlavor df = flavors[i]; if (df.getSubType().equals(subtype) && df.getPrimaryType().equals(primary)) { try { int m = Integer.valueOf(df.getParameter(mask)).intValue(); if ((m & action) != 0) { // found the node return (Node) t.getTransferData(df); } } catch (NumberFormatException nfe) { maybeReportException(nfe); } catch (ClassCastException cce) { maybeReportException(cce); } catch (IOException ioe) { maybeReportException(ioe); } catch (UnsupportedFlavorException ufe) { maybeReportException(ufe); } } } return null; }
Example 15
Source File: ImageTransferTest.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 5 votes |
void checkImage(DropTargetDropEvent dtde) { final Transferable t = dtde.getTransferable(); if (t.isDataFlavorSupported(DataFlavor.imageFlavor)) { dtde.acceptDrop(DnDConstants.ACTION_COPY); Image im; try { im = (Image) t.getTransferData(DataFlavor.imageFlavor); System.err.println("getTransferData was successful"); } catch (Exception e) { System.err.println("Can't getTransferData: " + e); dtde.dropComplete(false); notifyTransferSuccess(false); return; } if (im == null) { System.err.println("getTransferData returned null"); dtde.dropComplete(false); notifyTransferSuccess(false); } else if (areImagesIdentical(image, im)) { dtde.dropComplete(true); notifyTransferSuccess(true); } else { System.err.println("transferred image is different from initial image"); dtde.dropComplete(false); notifyTransferSuccess(false); } } else { System.err.println("imageFlavor is not supported by Transferable"); dtde.rejectDrop(); notifyTransferSuccess(false); } }
Example 16
Source File: GUIUtil.java From CXTouch with GNU General Public License v3.0 | 5 votes |
/** * Return the text content on clipboard. */ public static String getClipText() { Transferable transfer = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null); if (!transfer.isDataFlavorSupported(DataFlavor.stringFlavor)) { return null; } String dataObj; try { dataObj = (String) transfer.getTransferData(DataFlavor.stringFlavor); return dataObj; } catch (Exception e) { logger.error(e.getMessage(), e); return null; } }
Example 17
Source File: EditorCaret.java From netbeans with Apache License 2.0 | 4 votes |
@Override public void mouseClicked(MouseEvent evt) { if (LOG.isLoggable(Level.FINE)) { LOG.fine("EditorCaret.mouseClicked: " + logMouseEvent(evt) + ", state=" + mouseState + '\n'); // NOI18N } JTextComponent c = component; if (c != null) { if (evt.getClickCount() == 1 && evt.isControlDown() && evt.isShiftDown()) { evt.consume(); // consume event already handled by mousePressed } if (isMiddleMouseButtonExt(evt)) { if (evt.getClickCount() == 1) { if (c == null) { return; } Clipboard buffer = component.getToolkit().getSystemSelection(); if (buffer == null) { return; } Transferable trans = buffer.getContents(null); if (trans == null) { return; } final Document doc = c.getDocument(); if (doc == null) { return; } final int offset = c.getUI().viewToModel(c, new Point(evt.getX(), evt.getY())); try { final String pastingString = (String) trans.getTransferData(DataFlavor.stringFlavor); if (pastingString == null) { return; } Runnable pasteRunnable = new Runnable() { public @Override void run() { try { doc.insertString(offset, pastingString, null); setDot(offset + pastingString.length()); setMagicCaretPosition(null); } catch (BadLocationException exc) { } } }; AtomicLockDocument ald = LineDocumentUtils.as(doc, AtomicLockDocument.class); if (ald != null) { ald.runAtomic(pasteRunnable); } else { pasteRunnable.run(); } } catch (UnsupportedFlavorException ufe) { } catch (IOException ioe) { } } } } }
Example 18
Source File: WDataTransferer.java From jdk8u-jdk with GNU General Public License v2.0 | 4 votes |
@Override public Object translateBytes(byte[] bytes, DataFlavor flavor, long format, Transferable localeTransferable) throws IOException { if (format == CF_FILEGROUPDESCRIPTORA || format == CF_FILEGROUPDESCRIPTORW) { if (bytes == null || !DataFlavor.javaFileListFlavor.equals(flavor)) { throw new IOException("data translation failed"); } String st = new String(bytes, 0, bytes.length, "UTF-16LE"); String[] filenames = st.split("\0"); if( 0 == filenames.length ){ return null; } // Convert the strings to File objects File[] files = new File[filenames.length]; for (int i = 0; i < filenames.length; ++i) { files[i] = new File(filenames[i]); //They are temp-files from memory Stream, so they have to be removed on exit files[i].deleteOnExit(); } // Turn the list of Files into a List and return return Arrays.asList(files); } if (format == CFSTR_INETURL && URL.class.equals(flavor.getRepresentationClass())) { String charset = getDefaultTextCharset(); if (localeTransferable != null && localeTransferable. isDataFlavorSupported(javaTextEncodingFlavor)) { try { charset = new String((byte[])localeTransferable. getTransferData(javaTextEncodingFlavor), "UTF-8"); } catch (UnsupportedFlavorException cannotHappen) { } } return new URL(new String(bytes, charset)); } return super.translateBytes(bytes , flavor, format, localeTransferable); }
Example 19
Source File: TabFrameTransferHandler.java From darklaf with MIT License | 4 votes |
/** * Called when the drag-and-drop operation has just completed. This creates a new tab identical to the one * "dragged" and places it in the destination <code>JTabbedPane</code>. * * @param c The component receiving the "drop" (the instance of * <code>JTabbedPane</code>). * @param t The data being transfered (information about the tab and the component contained by the tab). * @return Whether or not the import was successful. */ @Override public boolean importData(final JComponent c, final Transferable t) { boolean successful = false; if (hasTabFlavor(t.getTransferDataFlavors()) && mouseLocation != null) { try { JTabFrame tabFrame = (JTabFrame) c; JTabFrame.TabFramePosition tab = getDropPosition(mouseLocation, tabFrame); Alignment a = tab.getAlignment(); int index = tab.getIndex(); TabTransferable.TabTransferData td = (TabTransferable.TabTransferData) t.getTransferData(tabFlavor); if (tabFrame == td.sourceTabFrame && td.tabAlignment == a) { if (index >= td.tabIndex) { index--; } } index++; if (tabFrame == td.sourceTabFrame && a == td.tabAlignment && index == td.tabIndex) { // Nothing to do. Just select the tab to be sure. if (td.wasSelected) { selectTab(td.sourceTabFrame, a, index); } return false; } if (a == null || index < 0 || index > tabFrame.getTabCountAt(a)) { return false; } TabFrameTab tabComp = td.sourceTabFrame.getTabComponentAt(td.tabAlignment, td.tabIndex); Component popupComp = td.sourceTabFrame.getPopupComponentAt(td.tabAlignment, td.tabIndex); td.sourceTabFrame.removeTab(td.tabAlignment, td.tabIndex); tabFrame.insertTab((TabFramePopup) popupComp, tabComp, a, index); if (td.wasSelected) { tabFrame.toggleTab(a, index, true); } SwingUtilities.invokeLater(() -> td.tab.getComponent().repaint()); successful = true; TabFrameUI ui = getUI(c); if (ui != null) { ui.clearTargetIndicator(); } } catch (Exception e) { e.printStackTrace(); } } return successful; }
Example 20
Source File: TradeRouteInputPanel.java From freecol with GNU General Public License v2.0 | 2 votes |
/** * Convenience function to try to get a {@code TradeRouteCargoLabel} * from a {@code Transferable}. * * @param data The {@code Transferable} to query. * @return The label found if any. * @exception IOException if the data is not available. * @exception UnsupportedFlavorException on flavor mismatch. */ private TradeRouteCargoLabel tryTransfer(Transferable data) throws IOException, UnsupportedFlavorException { return (TradeRouteCargoLabel)data.getTransferData(DefaultTransferHandler.flavor); }