java.awt.datatransfer.DataFlavor#javaFileListFlavor ( )源码实例Demo

下面列出了java.awt.datatransfer.DataFlavor#javaFileListFlavor ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: markdown-image-kit   文件: ImageUtils.java
/**
 * Gets data from clipboard.
 *
 * @return the data from clipboard  map 中只有一对 kev-value
 */
@Nullable
public static Map<DataFlavor, Object> getDataFromClipboard() {
    Map<DataFlavor, Object> data = new HashMap<>(1);
    Transferable transferable = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
    if (transferable != null) {
        // 如果剪切板的内容是文件
        try {
            DataFlavor dataFlavor;
            if (transferable.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
                // List<File>
                dataFlavor = DataFlavor.javaFileListFlavor;
            } else if (transferable.isDataFlavorSupported(DataFlavor.imageFlavor)) {
                // Image
                dataFlavor = DataFlavor.imageFlavor;
            } else {
                return null;
            }
            Object object = transferable.getTransferData(dataFlavor);
            data.put(dataFlavor, object);
        } catch (IOException | UnsupportedFlavorException ignored) {
            // 如果 clipboard 没有文件, 不处理
        }
    }
    return data;
}
 
/**
 * Get transfer data.
 *
 * @param dataFlavor
 *            Data flavor
 * @return Transfer data
 * @throws UnsupportedFlavorException
 *             If the requested data flavor is not supported
 * @throws IOException
 *             If an I/O problem occurred
 */
@Override
public Object getTransferData(DataFlavor dataFlavor) throws UnsupportedFlavorException, IOException {
	if (!isDataFlavorSupported(dataFlavor)) {
		throw new UnsupportedFlavorException(dataFlavor);
	}

	if (dataFlavor == DataFlavor.javaFileListFlavor) {
		String tempDir = System.getProperty("java.io.tmpdir");

		File tmpFile = new File(tempDir, dragEntry.getFileName());
		tmpFile.deleteOnExit();

		try (FileOutputStream fos = new FileOutputStream(tmpFile)) {
			fos.write(dragEntry.getContent());
			fos.flush();
		}

		List<File> list = new ArrayList<>();
		list.add(tmpFile);
		return list;
	} else {
		return dragEntry.getContentString();
	}
}
 
源代码3 项目: netbeans   文件: DataFolderPasteTypesTest.java
/**
 * Test for bug 233673.
 *
 * @throws java.io.IOException
 */
public void testJavaFileListWithRelativePaths() throws IOException {

    FileObject testFO = FileUtil.createData(testFileSystem.getRoot(),
            "absoluteTestFile.txt");
    File absoluteTestFile = FileUtil.toFile(testFO);
    File relativeTestFile = new File("relativeFile.txt");

    ArrayList fileList = new ArrayList(2);
    fileList.add(relativeTestFile);
    fileList.add(absoluteTestFile);
    Transferable t = new MockTransferable(
            new DataFlavor[]{DataFlavor.javaFileListFlavor}, fileList);

    DataFolder.FolderNode node = (DataFolder.FolderNode) folderNode;
    ArrayList<PasteType> list = new ArrayList<PasteType>();
    node.createPasteTypes(t, list);
    assertEquals("Relative path should be skipped", 1, list.size());
    PasteType paste = (PasteType) list.get(0);
    paste.paste();

    FileObject[] children = testFileSystem.getRoot().getFileObject(
            "testDir").getChildren();
    assertEquals(1, children.length);
    assertEquals(children[0].getNameExt(), "absoluteTestFile.txt");
}
 
源代码4 项目: netbeans   文件: DefaultExternalDropHandlerTest.java
public void testCanDrop() throws ClassNotFoundException {
    DefaultExternalDropHandler handler = new DefaultExternalDropHandler();

    DataFlavor[] flavors = new DataFlavor[] { DataFlavor.imageFlavor };
    assertFalse( handler.canDrop( flavors ) );

    flavors = new DataFlavor[] { DataFlavor.imageFlavor, DataFlavor.stringFlavor };
    assertFalse( handler.canDrop( flavors ) );

    flavors = new DataFlavor[] { DataFlavor.javaFileListFlavor };
    assertTrue( handler.canDrop( flavors ) );

    flavors = new DataFlavor[] { DataFlavor.javaFileListFlavor, DataFlavor.imageFlavor };
    assertTrue( handler.canDrop( flavors ) );

    DataFlavor uriListFlavor = new DataFlavor("text/uri-list;class=java.lang.String");

    flavors = new DataFlavor[] { uriListFlavor };
    assertTrue( handler.canDrop( flavors ) );

    flavors = new DataFlavor[] { uriListFlavor, DataFlavor.imageFlavor };
    assertTrue( handler.canDrop( flavors ) );

    flavors = new DataFlavor[] { uriListFlavor, DataFlavor.javaFileListFlavor, DataFlavor.imageFlavor };
    assertTrue( handler.canDrop( flavors ) );
}
 
源代码5 项目: ij-ridgedetection   文件: GenericDialogPlus.java
/**
 * Gets the string.
 *
 * @param event
 *            the event
 * @return the string
 * @throws IOException
 *             Signals that an I/O exception has occurred.
 * @throws UnsupportedFlavorException
 *             the unsupported flavor exception
 */
@SuppressWarnings("unchecked")
static String getString(DropTargetDropEvent event) throws IOException, UnsupportedFlavorException {
	String text = null;
	DataFlavor fileList = DataFlavor.javaFileListFlavor;

	if (event.isDataFlavorSupported(fileList)) {
		event.acceptDrop(DnDConstants.ACTION_COPY);
		List<File> list = (List<File>) event.getTransferable().getTransferData(fileList);
		text = list.get(0).getAbsolutePath();
	} else if (event.isDataFlavorSupported(DataFlavor.stringFlavor)) {
		event.acceptDrop(DnDConstants.ACTION_COPY);
		text = (String) event.getTransferable().getTransferData(DataFlavor.stringFlavor);
		if (text.startsWith("file://"))
			text = text.substring(7);
		text = stripSuffix(stripSuffix(text, "\n"), "\r").replaceAll("%20", " ");
	} else {
		event.rejectDrop();
		return null;
	}

	event.dropComplete(text != null);
	return text;
}
 
源代码6 项目: ghidra   文件: GhidraFileChooserPanel.java
private void setupDragAndDrop() {
	acceptableFlavors = new DataFlavor[] { DataFlavor.javaFileListFlavor, };

	// set up drop stuff
	dropTargetAdapter =
		new DropTgtAdapter(this, DnDConstants.ACTION_COPY_OR_MOVE, acceptableFlavors);
	dropTarget = new DropTarget(filenameTextField, DnDConstants.ACTION_COPY_OR_MOVE,
		dropTargetAdapter, true);
	dropTarget.setActive(true);
}
 
源代码7 项目: ghidra   文件: GhidraFileChooserPanel.java
/**
 * @see docking.dnd.Droppable#add(java.lang.Object, java.awt.dnd.DropTargetDropEvent, java.awt.datatransfer.DataFlavor)
 */
@Override
public void add(Object obj, DropTargetDropEvent e, DataFlavor f) {
	if (f == DataFlavor.javaFileListFlavor) {
		List<?> files = (java.util.List<?>) obj;
		if (files.size() > 0) {
			File file = (File) files.get(0);
			filenameTextField.setText(file.getAbsolutePath());
			if (listener != null) {
				listener.fileDropped(file);
			}
		}
	}
}
 
源代码8 项目: consulo   文件: DnDEventImpl.java
public DataFlavor[] getTransferDataFlavors() {
  if (myAttachedObject instanceof Transferable) {
    return ((Transferable)myAttachedObject).getTransferDataFlavors();
  }
  else if (myAttachedObject instanceof FileFlavorProvider) {
    return new DataFlavor[]{ourDataFlavor, DataFlavor.javaFileListFlavor, LinuxDragAndDropSupport.uriListFlavor};
  }
  else if (myAttachedObject instanceof DnDNativeTarget.EventInfo) {
    return ((DnDNativeTarget.EventInfo)myAttachedObject).getFlavors();
  }
  return new DataFlavor[]{ourDataFlavor};
}
 
源代码9 项目: dragonwell8_jdk   文件: FileListTransferable.java
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
源代码10 项目: TencentKona-8   文件: FileListTransferable.java
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
源代码11 项目: jdk8u-jdk   文件: FileListTransferable.java
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
源代码12 项目: openjdk-jdk8u   文件: FileListTransferable.java
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
源代码13 项目: netbeans-mmd-plugin   文件: FileTransferable.java
public FileTransferable(@Nonnull @MustNotContainNull final Collection<File> files) {
  this.files = Collections.unmodifiableList(new ArrayList<>(files));
  this.flavors = new DataFlavor[]{DataFlavor.javaFileListFlavor};
}
 
源代码14 项目: jdk8u_jdk   文件: FileListTransferable.java
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
源代码16 项目: openjdk-jdk9   文件: FileListTransferable.java
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
源代码17 项目: jdk8u-dev-jdk   文件: FileListTransferable.java
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
源代码18 项目: hottub   文件: FileListTransferable.java
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
源代码19 项目: openjdk-8-source   文件: FileListTransferable.java
public DataFlavor[] getTransferDataFlavors() {
    return new DataFlavor [] {DataFlavor.javaFileListFlavor};
}
 
源代码20 项目: pumpernickel   文件: FileTransferable.java
@Override
public DataFlavor[] getTransferDataFlavors() {
	return new DataFlavor[] { DataFlavor.javaFileListFlavor };
}