java.awt.dnd.DropTargetDropEvent#isDataFlavorSupported ( )源码实例Demo

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

源代码1 项目: dsworkbench   文件: AbstractDSWorkbenchFrame.java
@Override
public void drop(DropTargetDropEvent dtde) {
    if (dtde.isDataFlavorSupported(VillageTransferable.villageDataFlavor) || dtde.isDataFlavorSupported(DataFlavor.stringFlavor)) {
        dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
    } else {
        dtde.rejectDrop();
        return;
    }

    Transferable t = dtde.getTransferable();
    List<Village> v;
    MapPanel.getSingleton().setCurrentCursor(MapPanel.getSingleton().getCurrentCursor());
    try {
        v = (List<Village>) t.getTransferData(VillageTransferable.villageDataFlavor);
        fireVillagesDraggedEvent(v, dtde.getLocation());
    } catch (Exception ignored) {
    }
}
 
源代码2 项目: 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;
}
 
源代码3 项目: java-swing-tips   文件: MainPanel.java
@Override public void drop(DropTargetDropEvent e) {
  try {
    if (e.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
      e.acceptDrop(DnDConstants.ACTION_COPY);
      Transferable transferable = e.getTransferable();
      ((List<?>) transferable.getTransferData(DataFlavor.javaFileListFlavor))
          .stream().filter(File.class::isInstance).map(File.class::cast)
          .map(File::toPath)
          .forEach(MainPanel.this::addImage);
      e.dropComplete(true);
    } else {
      e.rejectDrop();
    }
  } catch (UnsupportedFlavorException | IOException ex) {
    e.rejectDrop();
  }
}
 
源代码4 项目: java-swing-tips   文件: MainPanel.java
@Override public void drop(DropTargetDropEvent dtde) {
  try {
    if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
      dtde.acceptDrop(DnDConstants.ACTION_COPY);
      Transferable t = dtde.getTransferable();
      List<?> list = (List<?>) t.getTransferData(DataFlavor.javaFileListFlavor);
      for (Object o: list) {
        if (o instanceof File) {
          File f = (File) o;
          System.out.println(f.getAbsolutePath());
        }
      }
      dtde.dropComplete(true);
    } else {
      dtde.rejectDrop();
    }
  } catch (UnsupportedFlavorException | IOException ex) {
    dtde.rejectDrop();
  }
}
 
源代码5 项目: jadx   文件: MainDropTarget.java
@Override
@SuppressWarnings("unchecked")
public void drop(DropTargetDropEvent dtde) {
	if (!dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
		dtde.rejectDrop();
		return;
	}
	dtde.acceptDrop(dtde.getDropAction());
	try {
		Transferable transferable = dtde.getTransferable();
		List<File> transferData = (List<File>) transferable.getTransferData(DataFlavor.javaFileListFlavor);
		if (!transferData.isEmpty()) {
			dtde.dropComplete(true);
			// load first file
			mainWindow.open(transferData.get(0).toPath());
		}
	} catch (Exception e) {
		LOG.error("File drop operation failed", e);
	}
}
 
源代码6 项目: netbeans   文件: DragManager.java
public void drop(DropTargetDropEvent dtde) {
    if (dtde.isDataFlavorSupported(DataFlavor.stringFlavor)) {
        dtde.dropComplete(true);
        if (activeDragItem != null) {
            activeDragItem.dragAccepted();
        }
    } else {
        dtde.rejectDrop();
    }
    component.setCursor(oCursor);
    activeDragItem = null;
    component.repaint();
}
 
源代码7 项目: Method_Trace_Tool   文件: Trace.java
public static void drag()//定义的拖拽方法
{
    //panel表示要接受拖拽的控件
    new DropTarget(JlPath, DnDConstants.ACTION_COPY_OR_MOVE, new DropTargetAdapter() {
        public void drop(DropTargetDropEvent dtde)//重写适配器的drop方法
        {
            try {
                if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor))//如果拖入的文件格式受支持
                {
                    dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);//接收拖拽来的数据
                    List<File> list = (List<File>) (dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor));
                    String temp = "";
                    for (File file : list) {
                        temp = file.getAbsolutePath();
                        JlPath.setText(temp);
                        break;
                    }
                    //JOptionPane.showMessageDialog(null, temp);
                    dtde.dropComplete(true);//指示拖拽操作已完成
                } else {
                    dtde.rejectDrop();//否则拒绝拖拽来的数据
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    });
}
 
源代码8 项目: knopflerfish.org   文件: Desktop.java
@Override
public void drop(DropTargetDropEvent e)
{

  // This code is f***ing unbelievable.
  // How is anyone supposed to create it from scratch?
  try {
    final Transferable tr = e.getTransferable();

    if (e.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
      e.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
      final java.util.List<?> files =
        (java.util.List<?>) tr.getTransferData(DataFlavor.javaFileListFlavor);
      for (final Object name : files) {
        final File file = (File) name;
        addFile(file);
      }
      e.dropComplete(true);
    } else if (e.isDataFlavorSupported(DataFlavor.stringFlavor)) {
      e.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
      final String filename =
        (String) tr.getTransferData(DataFlavor.stringFlavor);

      addFile(new File(filename));
      e.dropComplete(true);
    } else {
      // Reject drop
    }
  } catch (final IOException ioe) {
    showErr(null, ioe);
  } catch (final UnsupportedFlavorException ufe) {
    showErr("Unsupported data type", ufe);
  }
}
 
源代码9 项目: niftyeditor   文件: PaletteDropTarget.java
@Override
public void drop(DropTargetDropEvent dtde) {
    if (dtde.getTransferable().isDataFlavorSupported(WidgetData.EFFECTFLAVOR)){
       GEffectDropEvent(dtde);
    }else if(dtde.isDataFlavorSupported(WidgetData.FLAVOR)){
        GElementDropEvent(dtde);
    }else{
       dtde.rejectDrop(); 
    }
}