JAVA拖拽选择文件
2016-01-23 15:03
363 查看
最简单的选择文件的方式是使用文件选择框,但是这种方式在操作起来很麻烦,很多人在操作的时候喜欢直接使用鼠标拖拽,今天就为大家演示一下JAVA中如何实现直接用鼠标拖拽文件选择。
运行效果:
import java.awt.datatransfer.DataFlavor; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetAdapter; import java.awt.dnd.DropTargetDropEvent; import java.io.File; import java.util.List; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; /** * 文件拖拽选择示例 * * @author jianggujin * */ @SuppressWarnings("serial") public class DragDemo extends JFrame { public DragDemo() { super("DragDemo"); final JTextArea area = new JTextArea(); area.setLineWrap(true); add(new JScrollPane(area)); new DropTarget(area, DnDConstants.ACTION_COPY_OR_MOVE, new DropTargetAdapter() { @Override public void drop(DropTargetDropEvent dtde) { try { // 如果拖入的文件格式受支持 if (dtde .isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { // 接收拖拽来的数据 dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); @SuppressWarnings("unchecked") List<File> list = (List<File>) (dtde.getTransferable() .getTransferData(DataFlavor.javaFileListFlavor)); area.setText(""); for (File file : list) { area.append(file.getAbsolutePath()); area.append("\r\n"); } // 指示拖拽操作已完成 dtde.dropComplete(true); } else { // 拒绝拖拽来的数据 dtde.rejectDrop(); } } catch (Exception e) { e.printStackTrace(); } } }); setSize(300, 300); setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { new DragDemo(); } }
运行效果:
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树