从windows拖放一个文件到panel中,如何判断那个文件名称? public void drop(DropTargetDropEvent e) { try {
DataFlavor stringFlavor = DataFlavor.stringFlavor;
Transferable tr = e.getTransferable();
if(tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
{
e.acceptDrop (
DnDConstants.ACTION_COPY_OR_MOVE);
java.util.List fileList = (java.util.List)
tr.getTransferData(DataFlavor.javaFileListFlavor);
Iterator iterator = fileList.iterator(); while (iterator.hasNext())
{
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);
}
e.getDropTargetContext().dropComplete(true);
} else {
System.err.println ("Rejected");
e.rejectDrop();
} if(tr.isDataFlavorSupported(stringFlavor))
{ }
}
DataFlavor stringFlavor = DataFlavor.stringFlavor;
Transferable tr = e.getTransferable();
if(tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
{
e.acceptDrop (
DnDConstants.ACTION_COPY_OR_MOVE);
java.util.List fileList = (java.util.List)
tr.getTransferData(DataFlavor.javaFileListFlavor);
Iterator iterator = fileList.iterator(); while (iterator.hasNext())
{
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);
}
e.getDropTargetContext().dropComplete(true);
} else {
System.err.println ("Rejected");
e.rejectDrop();
} if(tr.isDataFlavorSupported(stringFlavor))
{ }
}
import javax.swing.*;
import java.awt.*;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.awt.dnd.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
import java.io.File;
import java.io.IOException;
//import java.awt.event.*;
public class test implements DropTargetListener{
private JFrame mainFrame;
private JPanel panel_south,panel_east=new JPanel(); public void test()
{
mainFrame = new JFrame("本地性能测试器");
new DropTarget(panel_east, DnDConstants.ACTION_COPY_OR_MOVE, this);
mainFrame.getContentPane().add(panel_east);
mainFrame.setVisible(true); } public void drop(DropTargetDropEvent e) { try {
DataFlavor stringFlavor = DataFlavor.stringFlavor;
Transferable tr = e.getTransferable();
if(tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor))
{
e.acceptDrop (
DnDConstants.ACTION_COPY_OR_MOVE);
java.util.List fileList = (java.util.List)
tr.getTransferData(DataFlavor.javaFileListFlavor);
Iterator iterator = fileList.iterator();
System.out.println (iterator);
while (iterator.hasNext())
{
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);
}
e.getDropTargetContext().dropComplete(true);
} else {
System.err.println ("Rejected");
e.rejectDrop();
} if(tr.isDataFlavorSupported(stringFlavor))
{
String filename = (String) tr.getTransferData(stringFlavor);
} }catch(Exception e1)
{ }
} public void dragEnter(DropTargetDragEvent e) {
} public void dragExit(DropTargetEvent e) {
} public void dragOver(DropTargetDragEvent e) {
} public void dropActionChanged(DropTargetDragEvent e) {
}
public static void main(String args[]) {
test demo=new test(); // demo.setVisible(true);
}
}
这里不是得到文件名了吗?
e.rejectDrop();
return;
}
e.acceptDrop(DnDConstants.ACTION_COPY); String filename = "";
String filenames[] = new String[3];
; try {
DataFlavor stringFlavor = DataFlavor.stringFlavor;
Transferable tr = e.getTransferable();
DataFlavor[] flavors = tr.getTransferDataFlavors();
if (tr.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
java.util.List fileList = (java.util.List)
tr.getTransferData(flavors[0]);
Iterator iterator = fileList.iterator();
while (iterator.hasNext()) {
File f = (File) iterator.next();
filename = f.toString();
} } else if (tr.isDataFlavorSupported(stringFlavor)) { filename = (String) tr.getTransferData(stringFlavor);
} else {
e.rejectDrop();
} System.out.println(filename + "\n"); if (filename.endsWith(".bqd")) {
// e.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
this.DrawPlot(filename.trim());
// textPane.setCaretPosition(0);
// e.dropComplete(true);
} else if (isOurDir(filename)) { filenames[0] = filename + "\\cpu.bqd";
filenames[1] = filename + "\\net.bqd";
filenames[2] = filename + "\\mem.bqd";
this.DrawPlot(filenames);
e.dropComplete(true); } else {
System.out.println("文件或文件夹不符合规范");
} } catch (Exception ufe) {
ufe.printStackTrace();
} e.dropComplete(true); }