swing中dragEnter的问题

liang1wu 2013-05-27 11:28:04
网上看到一段代码如下
主类是
public class DropDragDemo {
public static void main(String[] args){
JFrame frame = new JFrame("文件拖拽Demo");
frame.setSize(500, 400);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createTitledBorder("文件拖拽演示"));

JTextArea textArea = new DropDragSupportTextArea();

JScrollPane jsp = new JScrollPane();
//滚动窗口
jsp.setViewportView(textArea);
textArea.setColumns(40);
textArea.setRows(10);

panel.add(jsp);
frame.add(panel);
frame.setVisible(true);



}
}
副类是

public class DropDragSupportTextArea extends JTextArea implements DropTargetListener{
private DropTarget dropTarget;

public static String filename = null;

public DropDragSupportTextArea() {
//注册DropTarget,并将它与组件相连,处理哪个组件的相连
//即连通组件(第一个this)和Listener(第二个this)
dropTarget = new DropTarget(this,DnDConstants.ACTION_COPY_OR_MOVE, this, true);
}

/**
* 拖入文件或字符串,这里只说明能拖拽,并未打开文件并显示到文本区域中
*/
@SuppressWarnings("unchecked")
public void dragEnter(DropTargetDragEvent dtde) {
DataFlavor[] dataFlavors = dtde.getCurrentDataFlavors();
if(dataFlavors[0].match(DataFlavor.javaFileListFlavor)){
try {
Transferable tr = dtde.getTransferable();
Object obj = tr.getTransferData(DataFlavor.javaFileListFlavor);
List<File> files = (List<File>)obj;

for(int i = 0; i < files.size(); i++){
append(files.get(i).getAbsolutePath()+"\r\n");

}


} catch (UnsupportedFlavorException ex) {

} catch (IOException ex) {

}
}
}



public void dragOver(DropTargetDragEvent dtde) {

}

public void dropActionChanged(DropTargetDragEvent dtde) {

}

public void dragExit(DropTargetEvent dte) {

}

public void drop(DropTargetDropEvent dtde) {

}

}


问题就是 我拖拽某个文件进了textArea 如何在主类中调到这个文件的绝对路径

最好只要取第一行的那个文件
现在就是想不出来,还请各位大虾指点一下
...全文
100 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
静山晚风 2013-05-28
  • 打赏
  • 举报
回复
这个我也想知道事实上事实上事实上事实上

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧