java实现拖拽示例

Swing中实现拖拽功能,代码很简单,都有注释,自己看,运行效果如下图:

package com;

import java.awt.*;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.*;

/** * 最简单的Java拖拽代码示例 * @author 刘显安 * 2013年1月24日 */public class DragTest extends JFrame{    JPanel panel;//要接受拖拽的面板    public DragTest()    {        panel = new JPanel();        panel.setBackground(Color.YELLOW);        getContentPane().add(panel, BorderLayout.CENTER);        setSize(500, 200);        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        setLocation(400, 200);        setTitle("最简单的拖拽示例:拖拽文件到下面(20130124)");        drag();//启用拖拽    }    public static void main(String[] args) throws Exception    {        UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");//设置皮肤        new DragTest().setVisible(true);;    }    public void drag()//定义的拖拽方法    {        //panel表示要接受拖拽的控件        new DropTarget(panel, DnDConstants.ACTION_COPY_OR_MOVE, new DropTargetAdapter()        {            @Override            public void drop(DropTargetDropEvent dtde)//重写适配器的drop方法            {                try                {                    if (dtde.isDataFlavorSupported(DataFlavor.javaFileListFlavor))//如果拖入的文件格式受支持                    {                        dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);//接收拖拽来的数据                        List list =  (List) (dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor));                        String temp="";                        for(File file:list)                            temp+=file.getAbsolutePath()+";\n";                        JOptionPane.showMessageDialog(null, temp);                        dtde.dropComplete(true);//指示拖拽操作已完成                    }                    else                    {                        dtde.rejectDrop();//否则拒绝拖拽来的数据                    }                }                catch (Exception e)                {                    e.printStackTrace();                }            }        });    }}

java swing 控件拖动_java swing中实现拖拽功能示例相关推荐

  1. java swing控件大全_java swing 组件大全(新手快进)

    import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.tree.*; import  ...

  2. android 当前置顶的控件,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    前言 今天给大家分享是如何在RecyclerView实现全选,ItemTouchHelper实现侧滑删除,拖拽功能.比较基础.关于RecyclerView的强大,就不多说了.在Android L SD ...

  3. appium java 时间控件_在 Appium 中快速单击控件的变通方法

    为什么需要快速点击控件 在我要测试的APP中,有一个名曰"秘密花园"的玩意儿,里面可以切换 正式.灰度.测试 环境:因为不想让用户随便就可以点进去切环境,开发同学在正常界面的某个位 ...

  4. java改变变量编码方式_Java 8中的5个功能将改变您的编码方式

    java改变变量编码方式 Java 8在JVM和语言级别都包含了一些非常令人兴奋的功能. 尽管最初为该发行版设想的某些功能已扩展到第9版,或已推出第9版,但实际上有数十个新功能. 许多新添加的内容在编 ...

  5. DevExpress控件学习之GridControl的Row拖拽

    GridControl中包括了GridView,所以在工具栏是无法直接找到GridView控件的 需要实现两个控件的四个事件,分别是源控件和目标控件,源控件即为某GridControl实例的子视图-& ...

  6. vue中实现拖拽功能

    自定义的全局指令 提示:拖拽指令 文章目录 自定义的全局指令 一.拖拽 1.自定义拖拽指令 2.页面挂载 3.css样式 提示:以下是本篇文章正文内容,下面案例可供参考 一.拖拽 1.自定义拖拽指令 ...

  7. 如何在vue中实现拖拽功能

    HTML5 drag & drop 拖拽与拖放 想要实现该功能,先了解一下H5中的drag和drop这2个概念.

  8. java的简单数字时钟_Java实现的简单数字时钟功能示例

    本文实例讲述了java实现的简单数字时钟功能.分享给大家供大家参考,具体如下: 应用名称:java数字时钟 用到的知识:java gui编程,线程 开发环境:win8+eclipse+jdk1.8 功 ...

  9. java socket 传输压缩文件_java基于socket传输zip文件功能示例

    本文实例讲述了java基于socket传输zip文件的方法.分享给大家供大家参考,具体如下: 服务器端程序: import java.io.*; import java.net.*; import j ...

最新文章

  1. 由各大企业移除MongoDB,回看关系模型与文档模型之争
  2. pip install 默认安装路径修改
  3. [unreal4入门系列之三] 初探UE4安装文件目录结构
  4. 电脑断网也难逃黑客攻破!风扇在转,手机放桌上,数据就被隔空窃取了
  5. ALV分类合计功能实现
  6. maven 常用的插件
  7. P4062 [Code+#1]Yazid 的新生舞会(线段树做法)
  8. 【C/C++开发】C++11 并发指南二(std::thread 详解)
  9. mysql管理应用_如何在PHP和MySQL中制作出色的库存管理应用程序
  10. 数据/方法论固然重要,但人为分析更有价值!
  11. $.ajax(0,jQuery Ajax显示0而不是Array(jQuery Ajax showing 0 instead of Array)
  12. Django模型(model)系统
  13. Spring IOC注入详解
  14. win7旗舰版上装VS2010错误(提示:miicrosoft 应用程序报告[安装失败])
  15. 用python计算有效前沿_【投资组合理论】Python绘制上证50成分股有效前沿和CML
  16. ff7重制版青魔法_《FF7重制》敌方招式获取方式与效果
  17. 如何进行系统的架构设计?
  18. R语言与点估计学习笔记(矩估计与MLE)
  19. VFS(virtual File System) 虚拟文件系统
  20. 使用frp内网穿透,用windows远程桌面连接

热门文章

  1. 使用docker搭建redis主从
  2. php实现目录及目录文件下的遍历
  3. 达摩院年终预测出炉:2022 十大科技趋势,AI for Science 高居榜首
  4. JavaScript 清除图片背景颜色 使之透明
  5. Android之glide加载圆形图片地址异常监听
  6. linux shell之$?和得到联合使用命令的结果
  7. Android之如何判断设备是平板还是手机
  8. Android之Base64
  9. 原来这就是局部有暴雨!
  10. 现在竟然还有补丝袜的?