/** {@inheritDoc} */
 public void dragEnter(DropTargetDragEvent evt) {
   target = (JComponent) evt.getDropTargetContext().getComponent();
   TransferHandler th = target.getTransferHandler();
   canImport = th.canImport(target, evt.getCurrentDataFlavors());
   if (canImport) {
     saveComponentState(target);
     lastPosition = evt.getLocation();
   }
 }
示例#2
0
  public static class CopyKeyAdapter extends KeyAdapter {
    private static final String defaultEditorKitCopyActionName = DefaultEditorKit.copyAction;
    private static final String transferHandlerCopyActionName =
        (String) TransferHandler.getCopyAction().getValue(Action.NAME);

    @Override
    public void keyPressed(KeyEvent e) {
      // Accept "copy" key strokes
      KeyStroke ks = KeyStroke.getKeyStroke(e.getKeyCode(), e.getModifiers());
      JComponent comp = (JComponent) e.getSource();
      for (int i = 0; i < 3; i++) {
        InputMap im = comp.getInputMap(i);
        Object key = im.get(ks);
        if (defaultEditorKitCopyActionName.equals(key)
            || transferHandlerCopyActionName.equals(key)) {
          return;
        }
      }
      // Accept JTable navigation key strokes
      if (!tableNavigationKeys.contains(e.getKeyCode())) {
        e.consume();
      }
    }

    @Override
    public void keyTyped(KeyEvent e) {
      e.consume();
    }
  }
 // ======================================================
 // ======================================================
 private void treeMousePressed(java.awt.event.MouseEvent evt) {
   int mask = evt.getModifiers();
   if ((mask & MouseEvent.BUTTON1_MASK) != 0) {
     TreePath selectedPath = getPathForLocation(evt.getX(), evt.getY());
     if (selectedPath == null) return;
     DefaultMutableTreeNode node =
         (DefaultMutableTreeNode) selectedPath.getPathComponent(selectedPath.getPathCount() - 1);
     Object o = node.getUserObject();
     if (o instanceof String) {
       TransferHandler transfer = this.getTransferHandler();
       transfer.exportAsDrag(this, evt, TransferHandler.COPY);
       dragged_node = node;
       parent.setCursor(renderer.getNodeCursor(node));
     }
   }
 }
    @Override
    public void mouseDragged(MouseEvent e) {
      int ctrlMask = InputEvent.CTRL_DOWN_MASK;
      int action =
          ((e.getModifiersEx() & ctrlMask) == ctrlMask)
              ? TransferHandler.COPY
              : TransferHandler.MOVE;

      JTable setTable = (JTable) e.getSource();
      // 非選択状態からいきなりドラッグを開始すると cellEditor が残ってしまう問題の workaround
      if (setTable.isEditing()) {
        setTable.getCellEditor().stopCellEditing();
      }
      TransferHandler handler = setTable.getTransferHandler();
      handler.exportAsDrag(setTable, e, action);
    }
  public static void ImageToClipBoard(Image i) {

    final Clipboard clipboard = java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();

    JLabel l = new JLabel("");

    l.setIcon(new ImageIcon(i));

    l.setTransferHandler(new ImageSelection());

    if (clipboard == null) {
      System.out.print("\ncb is null");
    }

    TransferHandler handler = l.getTransferHandler();

    if (handler == null) {
      System.out.print("\thc is null");
    }

    handler.exportToClipboard(l, clipboard, TransferHandler.COPY);
  }
示例#6
0
 @Override
 public void exportToClipboard(JComponent comp, Clipboard clip, int action) {
   super.exportToClipboard(comp, clip, action);
 }