clpbaord

Iniciado por Bleach@lex, 4 Diciembre 2009, 19:27 PM

0 Miembros y 1 Visitante están viendo este tema.

Bleach@lex

hola
me gustaria saber si me pueden ayudar con los clipboard
necesito crear uno que cuando yo seleccione un archivo ya sea desde el escritorio o cualquier aplicacion pueda insertar un archivo ya sea de texto, audio,video,imagenes,etc. y lo arrastre hasta la ventana del programa este me de el nombre de dicho archivo.

weno eso fue todo y pues espero que me puedan ayudar

Leyer

Hola amigo .. se hace de la siguiente forma


Código (java) [Seleccionar]
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.dnd.DnDConstants;
import java.awt.dnd.DropTarget;
import java.awt.dnd.DropTargetDragEvent;
import java.awt.dnd.DropTargetDropEvent;
import java.awt.dnd.DropTargetEvent;
import java.awt.dnd.DropTargetListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;

public class NTest extends JFrame implements DropTargetListener {

  private DropTarget dt;
  private JTextArea ta;

  public NTest() {
    setSize(300, 300);
    getContentPane().add(
        new JLabel("Drop a list from your file chooser here:"),
        BorderLayout.NORTH);
    ta = new JTextArea();
    ta.setBackground(Color.white);
    getContentPane().add(ta, BorderLayout.CENTER);
    setVisible(true);
  }
  public void dragEnter(DropTargetDragEvent dtde) {}
  public void dragExit(DropTargetEvent dte){ }
  public void dragOver(DropTargetDragEvent dtde) {}
  public void dropActionChanged(DropTargetDragEvent dtde) {}
  public void drop(DropTargetDropEvent dtde) {
    try {
      Transferable tr = dtde.getTransferable();
      DataFlavor[] flavors = tr.getTransferDataFlavors();
      for (int i = 0; i < flavors.length; i++) {
        if (flavors[i].isFlavorJavaFileListType()) {
          dtde.acceptDrop(DnDConstants.ACTION_COPY);
          java.util.List list = (java.util.List) tr
              .getTransferData(flavors[i]);
          for (int j = 0; j < list.size(); j++) {
            ta.append(list.get(j) + "\n");
          }
          dtde.dropComplete(true);
          return;
        }
      }
      System.out.println("Drop failed: " + dtde);
      dtde.rejectDrop();
    } catch (Exception e) {
      e.printStackTrace();
      dtde.rejectDrop();
    }
  }

  public static void main(String args[]) {
    new NTest();
  }
}