/**
  * The file or URL has been dropped.
  *
  * @see java.awt.dnd.DropTargetListener#drop(java.awt.dnd.DropTargetDropEvent)
  */
 public void drop(DropTargetDropEvent event) {
   // important to first try urlFlavor
   if (event.isDataFlavorSupported(urlFlavor)) {
     try {
       event.acceptDrop(DnDConstants.ACTION_COPY);
       Transferable trans = event.getTransferable();
       URL url = (URL) (trans.getTransferData(urlFlavor));
       String urlStr = url.toString();
       gridIO.openShape(url);
       reset();
       event.dropComplete(true);
     } catch (Exception e) {
       event.dropComplete(false);
     }
   } else if (event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
     try {
       event.acceptDrop(DnDConstants.ACTION_COPY);
       Transferable trans = event.getTransferable();
       java.util.List list =
           (java.util.List) (trans.getTransferData(DataFlavor.javaFileListFlavor));
       File droppedFile = (File) list.get(0); // More than one file -> get only first file
       gridIO.openShape(droppedFile.getPath());
       reset();
       event.dropComplete(true);
     } catch (Exception e) {
       event.dropComplete(false);
     }
   }
 }
Esempio n. 2
0
  public void drop(DropTargetDropEvent dtde) {
    logger.info("Drop: " + dtde);
    if (dtde.isDataFlavorSupported(OWLObjectDataFlavor.OWL_OBJECT_DATA_FLAVOR)) {
      try {
        List<OWLObject> objects =
            (List<OWLObject>)
                dtde.getTransferable().getTransferData(OWLObjectDataFlavor.OWL_OBJECT_DATA_FLAVOR);
        List<OWLClass> clses = new ArrayList<OWLClass>();
        for (OWLObject obj : objects) {
          if (obj instanceof OWLClass) {
            clses.add((OWLClass) obj);
          }
        }

        if (!clses.isEmpty()) {
          getAssertedGraphComponent().getVisualisedObjectManager().showObjects(clses.toArray());
          dtde.dropComplete(true);
        }
      } catch (UnsupportedFlavorException e) {
        e.printStackTrace();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
 @Override
 public void drop(DropTargetDropEvent dtde) {
   Transferable t = dtde.getTransferable();
   if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
     try {
       dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
       java.util.List files = (java.util.List) t.getTransferData(DataFlavor.javaFileListFlavor);
       File f = (File) files.get(0);
       System.out.println("Reading from " + f.getAbsolutePath());
       colorSchemeList.setColorSchemeList(f);
       colorSchemeComp.clearContent();
       dtde.dropComplete(true);
       JitterbugEditor.this.setTitle(APP_TITLE + " - " + f.getAbsolutePath());
       return;
     } catch (Exception exc) {
       exc.printStackTrace();
     }
   }
   // if (t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
   // try {
   // dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
   // String content = (String) t
   // .getTransferData(DataFlavor.stringFlavor);
   // colorSchemeComp.setContent(new ByteArrayInputStream(content
   // .getBytes()));
   // dtde.dropComplete(true);
   // return;
   // } catch (Exception exc) {
   // exc.printStackTrace();
   // }
   // }
 }
  private boolean processDrop(AWorkspaceTreeNode targetNode, DropTargetDropEvent event) {
    event.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);

    final Transferable transferable = event.getTransferable();
    final int dropAction = event.getDropAction();
    try {
      if (!targetNode.getAllowsChildren()) {
        targetNode = targetNode.getParent();
      }
      if (!DnDController.isDropAllowed(targetNode)) {
        event.dropComplete(false);
        return false;
      }
      if (handleDrop(targetNode, transferable, dropAction)) {
        event.dropComplete(true);
        return true;
      }
    } catch (NoDropHandlerFoundExeption e) {
      LogUtils.info(
          "org.freeplane.plugin.workspace.dnd.WorkspaceTransferHandler.processDrop(targetNode, event): "
              + e.getMessage());
    }

    event.dropComplete(false);
    return false;
  }
  @SuppressWarnings("rawtypes")
  public void drop(DropTargetDropEvent dtde) {
    try {
      Transferable tr = dtde.getTransferable();
      if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
        dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
        List files = (List) tr.getTransferData(DataFlavor.javaFileListFlavor);

        this.txtRawData.setText(((File) files.get(0)).getAbsolutePath());

        dtde.getDropTargetContext().dropComplete(true);
      } else {
        System.err.println("DataFlavor.javaFileListFlavor is not supported, rejected");
        dtde.rejectDrop();
      }
    } catch (IOException ex) {
      System.err.println("IOException");
      ex.printStackTrace();
      dtde.rejectDrop();
    } catch (UnsupportedFlavorException ex) {
      System.err.println("UnsupportedFlavorException");
      ex.printStackTrace();
      dtde.rejectDrop();
    }
  }
Esempio n. 6
0
  public void drop(DropTargetDropEvent dtde) {
    // System.out.println("drop");
    // System.out.println(dtde.getDropAction());
    // System.out.println();
    // Check the drop action
    if ((dtde.getDropAction() & DnDConstants.ACTION_COPY_OR_MOVE) != 0) {
      // Accept the drop and get the transfer data
      dtde.acceptDrop(dtde.getDropAction());
      Transferable transferable = dtde.getTransferable();

      try {
        boolean result = false;

        if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
          result = dropFile(transferable);
        } else {
          result = false;
        }
        dtde.dropComplete(result);

      } catch (Exception e) {
        System.out.println("Exception while handling drop " + e);
        dtde.rejectDrop();
      }
    } else {
      System.out.println("Drop target rejected drop");
      dtde.dropComplete(false);
    }
  }
Esempio n. 7
0
    @SuppressWarnings("unchecked")
    public void drop(DropTargetDropEvent event) {

      try {
        if (event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
          Transferable tr = event.getTransferable();
          int action = event.getDropAction();
          event.acceptDrop(action);

          java.util.List<File> files =
              (java.util.List<File>) tr.getTransferData(DataFlavor.javaFileListFlavor);
          for (File f : files) {
            JEXStatics.logManager.log("Copying file " + f, 1, this);
            String newDest = parent.folder.getPath() + File.separator + f.getName();
            FileUtility.copy(f, new File(newDest));
          }
          parent.rebuild();

          event.dropComplete(true);
          JEXStatics.logManager.log("Drop completed...", 1, this);

          return;
        }
        event.rejectDrop();
      } catch (Exception e) {
        e.printStackTrace();
        event.rejectDrop();
      }
    }
  public final void drop(DropTargetDropEvent dtde) {
    try {
      if (drawImage) {
        clearImage();
      }
      int action = dtde.getDropAction();

      Transferable transferable = dtde.getTransferable();
      Point pt = dtde.getLocation();
      if (transferable.isDataFlavorSupported(TransferableNode.NODE_FLAVOR)
          && canPerformAction(tree, draggedPath, action, pt)) {
        TreePath pathTarget = tree.getPathForLocation(pt.x, pt.y);
        TreePath node = (TreePath) transferable.getTransferData(TransferableNode.NODE_FLAVOR);
        if (executeDrop(tree, node, pathTarget, action)) {
          dtde.acceptDrop(action);
          dtde.dropComplete(true);
          return;
        }
      }
      dtde.rejectDrop();
      dtde.dropComplete(false);
    } catch (Exception e) {
      System.out.println(e);
      dtde.rejectDrop();
      dtde.dropComplete(false);
    }
  }
Esempio n. 9
0
    /**
     * The drag operation has terminated with a drop on this <code>DropTarget</code>. This method is
     * responsible for undertaking the transfer of the data associated with the gesture. The <code>
     * DropTargetDropEvent</code> provides a means to obtain a <code>Transferable</code> object that
     * represents the data object(s) to be transfered.
     *
     * <p>From this method, the <code>DropTargetListener</code> shall accept or reject the drop via
     * the acceptDrop(int dropAction) or rejectDrop() methods of the <code>DropTargetDropEvent
     * </code> parameter.
     *
     * <p>Subsequent to acceptDrop(), but not before, <code>DropTargetDropEvent</code>'s
     * getTransferable() method may be invoked, and data transfer may be performed via the returned
     * <code>Transferable</code>'s getTransferData() method.
     *
     * <p>At the completion of a drop, an implementation of this method is required to signal the
     * success/failure of the drop by passing an appropriate <code>boolean</code> to the <code>
     * DropTargetDropEvent</code>'s dropComplete(boolean success) method.
     *
     * <p>Note: The actual processing of the data transfer is not required to finish before this
     * method returns. It may be deferred until later.
     *
     * <p>
     *
     * @param dtde the <code>DropTargetDropEvent</code>
     */
    @Override
    @SuppressWarnings("unchecked")
    public void drop(DropTargetDropEvent event) {
      if (event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
        event.acceptDrop(DnDConstants.ACTION_COPY);

        try {
          List<File> files =
              (List<File>) event.getTransferable().getTransferData(DataFlavor.javaFileListFlavor);

          splitMPOFiles(files);

        } catch (IOException e) {
          JOptionPane.showConfirmDialog(
              MPOImageSplitter.this,
              "Could not access the dropped data.",
              "MPOImageSplitter: Drop Failed",
              JOptionPane.DEFAULT_OPTION,
              JOptionPane.INFORMATION_MESSAGE);
        } catch (UnsupportedFlavorException e) {
          JOptionPane.showConfirmDialog(
              MPOImageSplitter.this,
              "Unsupported data flavor.",
              "MPOImageSplitter: Drop Failed",
              JOptionPane.DEFAULT_OPTION,
              JOptionPane.INFORMATION_MESSAGE);
        }
      } else {
        event.rejectDrop();
      }
    }
Esempio n. 10
0
  public void drop(DropTargetDropEvent dtde) {
    dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
    if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
      try {
        content =
            (java.util.List) dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor);
        repaint();
      } catch (UnsupportedFlavorException e) {
        e.printStackTrace();
      } catch (IOException e) {
        e.printStackTrace();
      }
      dtde.dropComplete(true);

      boolean listsAreEqual = true;

      for (int i = 0; i < content.size(); i++) {
        if (!FileListTransferable.files[i].getName().equals(content.get(i).getName())) {
          listsAreEqual = false;
        }
      }

      if (listsAreEqual) {
        System.err.println(InterprocessMessages.EXECUTION_IS_SUCCESSFULL);
        System.exit(0);
      }
    }
    dtde.rejectDrop();
    System.err.println(InterprocessMessages.FILES_ON_TARGET_ARE_CORRUPTED);
    System.exit(1);
  }
Esempio n. 11
0
  public void drop(DropTargetDropEvent dtde) {
    if ((dtde.getDropAction() & DnDConstants.ACTION_COPY_OR_MOVE) == 0) {
      dtde.rejectDrop();
      return;
    }
    dtde.acceptDrop(DnDConstants.ACTION_COPY);
    Vector<RowContainer> oldvec = this.filevector;

    Transferable transferable = dtde.getTransferable();
    try {
      java.util.List<File> filelist =
          (java.util.List<File>) transferable.getTransferData(DataFlavor.javaFileListFlavor);
      for (File f : filelist) {
        filevector.add(new RowContainer(f));

        model.fireTableDataChanged();
        System.out.println(f.toString());
      }
    } catch (IOException ex) {
      ex.printStackTrace();
    } catch (UnsupportedFlavorException ex) {
      ex.printStackTrace();
    }
    dtde.dropComplete(true);
    File[] filar = new File[filevector.size()];
    for (int i = 0; i < filevector.size(); i++) {
      filar[i] = filevector.get(i).getFile();
    }
    super.firePropertyChange("filevector", null, filar);
  }
Esempio n. 12
0
  @SuppressWarnings("unchecked")
  @Override
  public void drop(DropTargetDropEvent dtde) {
    for (DataFlavor dataFlover : dtde.getCurrentDataFlavors()) {
      if (dataFlover.isFlavorJavaFileListType()) {
        try {
          dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);

          for (File file :
              (List<File>) dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor)) {
            if (file.isFile() && file.canRead()) {
              fileText.setText(file.getCanonicalPath());
              break;
            }
          }

          dtde.getDropTargetContext().dropComplete(true);
        } catch (UnsupportedFlavorException e1) {
          //
        } catch (IOException e2) {
          //
        }
      }
    }
  }
Esempio n. 13
0
 public void drop(DropTargetDropEvent dtde) {
   dtde.acceptDrop(DnDConstants.ACTION_COPY);
   DataFlavor[] flavors = null;
   try {
     Transferable t = dtde.getTransferable();
     iterator = null;
     flavors = t.getTransferDataFlavors();
     if (IJ.debugMode) IJ.log("DragAndDrop.drop: " + flavors.length + " flavors");
     for (int i = 0; i < flavors.length; i++) {
       if (IJ.debugMode) IJ.log("  flavor[" + i + "]: " + flavors[i].getMimeType());
       if (flavors[i].isFlavorJavaFileListType()) {
         Object data = t.getTransferData(DataFlavor.javaFileListFlavor);
         iterator = ((List) data).iterator();
         break;
       } else if (flavors[i].isFlavorTextType()) {
         Object ob = t.getTransferData(flavors[i]);
         if (!(ob instanceof String)) continue;
         String s = ob.toString().trim();
         if (IJ.isLinux() && s.length() > 1 && (int) s.charAt(1) == 0) s = fixLinuxString(s);
         ArrayList list = new ArrayList();
         if (s.indexOf("href=\"") != -1 || s.indexOf("src=\"") != -1) {
           s = parseHTML(s);
           if (IJ.debugMode) IJ.log("  url: " + s);
           list.add(s);
           this.iterator = list.iterator();
           break;
         }
         BufferedReader br = new BufferedReader(new StringReader(s));
         String tmp;
         while (null != (tmp = br.readLine())) {
           tmp = java.net.URLDecoder.decode(tmp.replaceAll("\\+", "%2b"), "UTF-8");
           if (tmp.startsWith("file://")) tmp = tmp.substring(7);
           if (IJ.debugMode) IJ.log("  content: " + tmp);
           if (tmp.startsWith("http://")) list.add(s);
           else list.add(new File(tmp));
         }
         this.iterator = list.iterator();
         break;
       }
     }
     if (iterator != null) {
       Thread thread = new Thread(this, "DrawAndDrop");
       thread.setPriority(Math.max(thread.getPriority() - 1, Thread.MIN_PRIORITY));
       thread.start();
     }
   } catch (Exception e) {
     dtde.dropComplete(false);
     return;
   }
   dtde.dropComplete(true);
   if (flavors == null || flavors.length == 0) {
     if (IJ.isMacOSX())
       IJ.error(
           "First drag and drop ignored. Please try again. You can avoid this\n"
               + "problem by dragging to the toolbar instead of the status bar.");
     else IJ.error("Drag and drop failed");
   }
 }
Esempio n. 14
0
 public boolean processDrop(DropTargetDropEvent event) {
   event.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
   Transferable transferable = event.getTransferable();
   if (processDrop(transferable, event.getDropAction())) {
     event.dropComplete(true);
     return true;
   }
   event.dropComplete(false);
   return false;
 }
 /**
  * {@inheritDoc}
  *
  * @see DropTargetListener#drop(DropTargetDropEvent)
  */
 public final void drop(DropTargetDropEvent event) {
   event.acceptDrop(event.getDropAction());
   try {
     Transferable transferable = event.getTransferable();
     event.dropComplete(getTransferHandler().importData(this, transferable));
   } catch (RuntimeException exc) {
     event.dropComplete(false);
   }
   this.dropPoint = null;
   repaint();
 }
Esempio n. 16
0
  @Override
  public void drop(DropTargetDropEvent dtde) {
    Point pt = dtde.getLocation();
    DropTargetContext dtc = dtde.getDropTargetContext();
    JTree tree = (JTree) dtc.getComponent();
    TreePath parentpath = tree.getClosestPathForLocation(pt.x, pt.y);
    DefaultMutableTreeNode parent = (DefaultMutableTreeNode) parentpath.getLastPathComponent();
    if (!parent.isLeaf()) {
      dtde.rejectDrop();
      return;
    }

    try {
      Transferable tr = dtde.getTransferable();
      DataFlavor[] flavors = tr.getTransferDataFlavors();
      for (int i = 0; i < flavors.length; i++) {
        if (tr.isDataFlavorSupported(flavors[i])) {
          dtde.acceptDrop(dtde.getDropAction());
          EMedium eMedium = (EMedium) tr.getTransferData(flavors[i]);
          TreeNodeUserData userData = (TreeNodeUserData) parent.getUserObject();
          String shelfName = userData.getCaption();
          if (isLibrarySelected(dtde)
              && shelfName.equals(AppProperties.INSTANCE.RENTALS_SHELF_NAME)) {
            if (!uiDelegate.addRentalEMedium(eMedium))
              JOptionPane.showMessageDialog(
                  frame, "Cannot rent e-medium!", "Add document error", JOptionPane.ERROR_MESSAGE);
          } else if (!isLibrarySelected(dtde)
              && !shelfName.equals(AppProperties.INSTANCE.RENTALS_SHELF_NAME)) {
            if (!uiDelegate.addEMediumShelf(shelfName, eMedium))
              JOptionPane.showMessageDialog(
                  frame, "Duplicated e-medium!", "Add document error", JOptionPane.ERROR_MESSAGE);
          } else
            JOptionPane.showMessageDialog(
                frame,
                "Need to rent the e-medium first!",
                "Add document error",
                JOptionPane.ERROR_MESSAGE);
          dtde.dropComplete(true);
          return;
        }
      }
      // dtde.rejectDrop();
    } catch (OperationNotSupportedException e) {
      JOptionPane.showMessageDialog(
          frame,
          "Cannot add a document to this shelf",
          "Add document error",
          JOptionPane.ERROR_MESSAGE);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
Esempio n. 17
0
  private void changeSoftwareUnitLocation(DropTargetDropEvent arg) {
    try {

      String result = ((String) arg.getTransferable().getTransferData(currentFlavor));
      Object[] namesAndTypes = DragAndDropHelper.interpretObjects(result);
      ArrayList<String> names = (ArrayList<String>) namesAndTypes[0];
      ArrayList<String> types = (ArrayList<String>) namesAndTypes[1];
      SoftwareUnitController controller =
          new SoftwareUnitController(getSelectedNode(arg).getModuleId());
      controller.changeSoftwareUnit(getSelectedNode(arg).getModuleId(), names);
    } catch (Exception e) {

    }
  }
Esempio n. 18
0
 @Override
 public void drop(DropTargetDropEvent dtde) {
   dtde.acceptDrop(info.getDnDAction());
   Transferable transferable = dtde.getTransferable();
   boolean success = false;
   try {
     Object result = transferable.getTransferData(info.getDataFlavor());
     success = info.handleDroppedObject(result);
   } catch (UnsupportedFlavorException e) {
     Log.log(e);
   } catch (IOException e) {
     Log.log(e);
   }
   dtde.dropComplete(success);
 }
  private void onTablesDroped(DropTargetDropEvent dtde) {
    try {
      Object transferData =
          dtde.getTransferable()
              .getTransferData(dtde.getTransferable().getTransferDataFlavors()[0]);

      if (transferData instanceof ObjectTreeDndTransfer) {
        ObjectTreeDndTransfer objectTreeDndTransfer = (ObjectTreeDndTransfer) transferData;

        if (false
            == objectTreeDndTransfer.getSessionIdentifier().equals(_session.getIdentifier())) {
          JOptionPane.showMessageDialog(
              SwingUtilities.windowForComponent(_desktopPane),
              s_stringMgr.getString("GraphDesktopController.tableDropedFormOtherSession"));
          return;
        }

        _listener.tablesDropped(objectTreeDndTransfer.getSelectedTables(), dtde.getLocation());
      }

    } catch (Exception e) {
      throw new RuntimeException(e);
    }
  }
Esempio n. 20
0
    public void drop(DropTargetDropEvent event) {
      if (!isDropAcceptable(event)) {
        event.rejectDrop();
        return;
      }

      event.acceptDrop(DnDConstants.ACTION_COPY);

      Transferable transferable = event.getTransferable();

      MessageCollection messages = new MessageCollection();
      try {
        List<File> files = (List<File>) transferable.getTransferData(DataFlavor.javaFileListFlavor);

        for (File file : files) {
          try {
            ResourceLocator locator = new ResourceLocator(file.getAbsolutePath());
            IGV.getInstance().load(locator, panel);
          } catch (DataLoadException de) {
            messages.append(de.getMessage());
          }
        }
        String obj = transferable.getTransferData(DataFlavor.stringFlavor).toString();
        if (HttpUtils.isRemoteURL(obj)) {
          IGV.getInstance().load(new ResourceLocator(obj), panel);
        }
        if (messages != null && !messages.isEmpty()) {
          log.error(messages.getFormattedMessage());
          MessageUtils.showMessage(messages.getFormattedMessage());
        }
      } catch (Exception e) {
        String obj = null;
        try {
          obj = transferable.getTransferData(DataFlavor.stringFlavor).toString();
          if (HttpUtils.isRemoteURL(obj)) {
            IGV.getInstance().load(new ResourceLocator(obj), panel);
          }
        } catch (Exception e1) {
          log.error(e1);
          if (messages != null && !messages.isEmpty()) {
            MessageUtils.showMessage(messages.getFormattedMessage());
          }
        }
      }
      IGV.getMainFrame().repaint();
      event.dropComplete(true);
    }
 private DropData convertEventIntoDropData(DropTargetDropEvent dropTargetDropEvent) {
   Transferable transferable = dropTargetDropEvent.getTransferable();
   Point tableLocation = getTableLocationForEvent(dropTargetDropEvent);
   if (null != _underlyingTable.getValueAt(tableLocation.x, tableLocation.y)) {
     return null;
   }
   Instance entry;
   try {
     entry = (Instance) transferable.getTransferData(_flavor);
   } catch (Exception e) {
     return null;
   }
   if ((null == entry) || !entry.hasType(_entryCls)) {
     return null;
   }
   return new DropData(tableLocation, entry);
 }
  public void drop(DropTargetDropEvent evt) {
    try {
      Transferable t = evt.getTransferable();

      if (t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
        evt.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);

        String s = (String) t.getTransferData(DataFlavor.stringFlavor);
        evt.getDropTargetContext().dropComplete(true);
        process(s);
      } else {
        evt.rejectDrop();
      }
    } catch (IOException e) {
      evt.rejectDrop();
    } catch (UnsupportedFlavorException e) {
      evt.rejectDrop();
    }
  }
 public void drop(DropTargetDropEvent event) {
   if (!event.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
     event.rejectDrop();
     return;
   }
   event.acceptDrop(event.getDropAction());
   try {
     List<File> data =
         (List<File>) event.getTransferable().getTransferData(DataFlavor.javaFileListFlavor);
     Vector<String> pages = this.model.addWikiPages((File[]) data.toArray());
     JList pagelist = new JList(pages);
     this.updateUI(this.ui, pagelist);
     event.dropComplete(true);
   } catch (Exception e) {
     event.dropComplete(false);
     log.error("Failed to accept drag n drop", e);
   }
   highlightUI(false);
 }
  @Override
  public void drop(DropTargetDropEvent dtde) {
    if (dtde.isDataFlavorSupported(CardFlavor.cardFlavor) && this.canDrop) {
      Transferable trans = dtde.getTransferable();
      try {
        Object data = trans.getTransferData(CardFlavor.cardFlavor);
        CardWindow card = (CardWindow) data;
        DropTargetContext context = dtde.getDropTargetContext();
        CardCollection comp = (CardCollection) context.getComponent();
        Container parent = comp.getParent();
        GameController.getController(false)
            .makeMove(
                CardCollection.getMoveFromIndex(
                    comp.getCardMouseLocation(), new OrderedCard(card.card, card.cardLocation)));
        if (parent != null) parent.remove(card);
        comp.setCard(card, comp.getCardMouseLocation());
        dtde.acceptDrop(DnDConstants.ACTION_MOVE);
        comp.validate();
        comp.repaint();

        dtde.dropComplete(true);
      } catch (Exception e) {
        dtde.rejectDrop();
        dtde.dropComplete(false);
        JOptionPane.showMessageDialog(
            MainWindow.getMainWindow(),
            "Invalid move.",
            "Invalid Move Error",
            JOptionPane.ERROR_MESSAGE);
        e.printStackTrace();
      }
    } else {
      dtde.rejectDrop();
      dtde.dropComplete(false);
      JOptionPane.showMessageDialog(
          MainWindow.getMainWindow(),
          "Invalid move.",
          "Invalid Move Error",
          JOptionPane.ERROR_MESSAGE);
    }
  }
Esempio n. 25
0
 @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);
       return;
     }
   } catch (UnsupportedFlavorException | IOException ex) {
     ex.printStackTrace();
   }
   dtde.rejectDrop();
 }
Esempio n. 26
0
  public void drop(
      java.awt.dnd.DropTargetDropEvent evt) { // System.out.println( "DropTargetListener.drop" );
    java.awt.datatransfer.Transferable transferable = evt.getTransferable();

    // If it's our native TransferableObject, use that
    if (transferable.isDataFlavorSupported(TransferableObject.DATA_FLAVOR)) {
      evt.acceptDrop(java.awt.dnd.DnDConstants.ACTION_MOVE);
      Object obj = null;
      try {
        obj = transferable.getTransferData(TransferableObject.DATA_FLAVOR);
      } // end try
      catch (java.awt.datatransfer.UnsupportedFlavorException e) {
        e.printStackTrace();
      } // end catch
      catch (java.io.IOException e) {
        e.printStackTrace();
      } // end catch

      if (obj != null) {
        // See where in the list we dropped the element.
        int dropIndex = locationToIndex(evt.getLocation());
        javax.swing.DefaultListModel model = (javax.swing.DefaultListModel) getModel();

        if (dropIndex < 0) model.addElement(obj);

        // Else is it moving down the list?
        else if (sourceIndex >= 0 && dropIndex > sourceIndex) model.add(dropIndex - 1, obj);
        else model.add(dropIndex, obj);

      } // end if: we got the object

      // Else there was a problem getting the object
      else {
        evt.rejectDrop();
      } // end else: can't get the object
    } // end if: it's a native TransferableObject

    // Else we can't handle this
    else evt.rejectDrop();
  } // end drop
Esempio n. 27
0
	/**
	 * 当拖动系统中的文件放置drop到该List中时,调用此方法。
	 */
	public synchronized void drop(DropTargetDropEvent dropTargetDropEvent) {
		System.out
				.println("method: drop(DropTargetDropEvent dropTargetDropEvent)");
		try {
			// 获取传入的Transfer对象
			Transferable tr = dropTargetDropEvent.getTransferable();
			// 如果Transfer对象支持文件放置到java平台,则进行下一步处理
			if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
				// 使用“拷贝、移动”方式接收放置操作。
				dropTargetDropEvent
						.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
				// 从Transfer中取数据,得到的是一个文件列表。即可以一次拖放多个文件
				java.util.List fileList = (java.util.List) tr
						.getTransferData(DataFlavor.javaFileListFlavor);
				Iterator iterator = fileList.iterator();
				while (iterator.hasNext()) {
					// 将拖放进来的文件的信息添加到List的数据模型中
					File file = (File) iterator.next();
					Hashtable hashtable = new Hashtable();
					hashtable.put("name", file.getName());
					hashtable.put("url", file.toURL().toString());
					hashtable.put("path", file.getAbsolutePath());
					((DefaultListModel) getModel()).addElement(hashtable);
				}
				// 放置操作成功结束
				dropTargetDropEvent.getDropTargetContext().dropComplete(true);
			} else {
				// Transferable对象不支持文件放置到java中,拒绝。
				System.err.println("Rejected");
				dropTargetDropEvent.rejectDrop();
			}
		} catch (IOException io) {
			io.printStackTrace();
			dropTargetDropEvent.rejectDrop();
		} catch (UnsupportedFlavorException ufe) {
			ufe.printStackTrace();
			dropTargetDropEvent.rejectDrop();
		}
	}
      public void drop(DropTargetDropEvent e) {

        // transferring the tab
        Transferable t = e.getTransferable();

        try {
          UIDetachableTabbedPane tp = (UIDetachableTabbedPane) t.getTransferData(TABFLAVOR);
          int sIdx = tp.getBasicTabbedPane().getSelectedIndex();
          int objectId = tp.getId();

          invokeULC("importTab", new Object[] {new Integer(objectId), new Integer(sIdx)});

          setSelectedIndex(getComponentCount() - 1);

        } catch (UnsupportedFlavorException ufe) {
          ufe.printStackTrace();
          e.dropComplete(false);
        } catch (IOException iex) {
          iex.printStackTrace();
          e.dropComplete(false);
        }
      }
Esempio n. 29
0
  private void addSoftwareUnits(DropTargetDropEvent arg) {
    try {

      AnalyzedModuleTree palo =
          (AnalyzedModuleTree) arg.getTransferable().getTransferData(currentFlavor);
      ArrayList<AnalyzedModuleComponent> tobesaved = new ArrayList<AnalyzedModuleComponent>();
      for (TreePath pathe : palo.getSelectionPaths()) {

        AnalyzedModuleComponent top = (AnalyzedModuleComponent) pathe.getLastPathComponent();
        String type = top.getType().toLowerCase();
        boolean res =
            ((!type.equals("root")
                && !type.equals("application")
                && !type.equals("externalpackage")));
        if (res) {

          AnalyzedModuleComponent referencedUnit =
              StateService.instance().getAnalyzedSoftWareUnit(top.getUniqueName());
          if (!referencedUnit.isMapped()) {
            tobesaved.add(referencedUnit);
          }
        }
      }

      SoftwareUnitController controller =
          new SoftwareUnitController(getSelectedNode(arg).getModuleId());
      controller.save(tobesaved);

    } catch (UnsupportedFlavorException e) {

      e.printStackTrace();
    } catch (IOException e) {

      e.printStackTrace();
    }
  }
Esempio n. 30
0
  public void drop(DropTargetDropEvent dtde) {
    Transferable t = dtde.getTransferable();
    StringBuffer dropData = null;
    DataFlavor dtf;

    JConfig.log().logVerboseDebug("Dropping!");

    if (t.getTransferDataFlavors().length == 0) {
      Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
      Transferable t2 = sysClip.getContents(null);
      DataFlavor[] dfa2;
      int j;

      JConfig.log().logDebug("Dropped 0 data flavors, trying clipboard.");
      dfa2 = null;

      if (t2 != null) {
        JConfig.log().logVerboseDebug("t2 is not null: " + t2);
        dfa2 = t2.getTransferDataFlavors();
        JConfig.log().logVerboseDebug("Back from getTransferDataFlavors()!");
      } else {
        JConfig.log().logVerboseDebug("t2 is null!");
      }

      if (JConfig.queryConfiguration("debug.uber", "false").equals("true")) {
        if (dfa2 != null) {
          if (dfa2.length == 0) {
            JConfig.log().logVerboseDebug("Length is still zero!");
          }
          for (j = 0; j < dfa2.length; j++) {
            JConfig.log()
                .logVerboseDebug("Flavah " + j + " == " + dfa2[j].getHumanPresentableName());
            JConfig.log().logVerboseDebug("Flavah/mime " + j + " == " + dfa2[j].getMimeType());
          }
        } else {
          JConfig.log().logVerboseDebug("Flavahs supported: none!\n");
        }
      }
    }

    if (JConfig.queryConfiguration("debug.uber", "false").equals("true") && JConfig.debugging)
      dumpFlavorsOld(t);

    dtf = testAllFlavors(t);
    if (dtf != null) {
      JConfig.log().logVerboseDebug("Accepting!");
      acceptDrop(dtde);

      dropData = getTransferData(t);
      dtde.dropComplete(true);
      dtde.getDropTargetContext().dropComplete(true);
      if (dropData != null) {
        if (handler != null) {
          handler.receiveDropString(dropData);
        }
      }
    } else {
      JConfig.log().logVerboseDebug("Rejecting!");
      dtde.rejectDrop();
      handler.receiveDropString(dropData);
    }
  }