博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA UI 拖拽功能
阅读量:5234 次
发布时间:2019-06-14

本文共 856 字,大约阅读时间需要 2 分钟。

java GUI拖拽功能是很实用也相对高级一些的功能。

有一小部分的GUI控件支持

他们有dragEnabled属性.这些JComponent包括:
javax.swing.JColorChooser
javax.swing.JFileChooser
javax.swing.JList
javax.swing.JTable
javax.swing.JTree
javax.swing.text.JTextComponent

大部分的控件不支持没有这个属性,尤其是常用的jpanel和jframe。

一种简单的方法是实现继承DropTargetAdapter类,这是一个实现了DropTargetListener接口的适配器,实现其中的drop方法。

该方法有一个DropTargetDropEvent对象的参数,drop里面调用顺序如下

1.调用这个对象的acceptDrop方法,需要一个Int参数,使用DnDConstants (Drag and Drop常数类)里的常数

2.获得dtde对象的getTransferable对象,在调用transferable的getTransferData方法。参数是DataFlavor.javaFileListFlavor(也是一个DataFlavor)。

DataFlavor涉及传输时一些信息,有些复杂,暂时没太理解。

3.直接在控件里面new一个DropTargetAdapter对象即可。

Drag and Drop的问题简单的说要涉及到两个部分: Drag Source, Drop target和Transferable 即从哪里drag来的,

以及drop到哪里去, 以及传输的数据.

没有进行深入了解,以下博客写的比较详细,有空看一看。

http://blog.sina.com.cn/s/blog_799d8220010196nj.html

 

转载于:https://www.cnblogs.com/ccliekkas/p/5049719.html

你可能感兴趣的文章
MySQL 技巧
查看>>
struts2-通配符映射(基本没啥卵用)和动态调用
查看>>
Druid介绍2
查看>>
硬件电路
查看>>
Mysql/Oracle/达梦中数据字典表
查看>>
SQL Server 分区表
查看>>
JS高级程序设计 第七章 函数表达式
查看>>
C# 使用 StructLayoutAttribute 时 C# /C++ 内存空间分配与成员对齐问题
查看>>
Python调用百度地图API实现批量经纬度转换为实际省市地点(api调用,json解析,excel读取与写入)...
查看>>
Valve新员工手册
查看>>
C# CreateParams的使用(解决闪屏问题)
查看>>
【数据结构】数组操作(LowArrayApp.java)
查看>>
IAR MSP430设置合理堆栈大小(the stack pointer for stack is outside the stack range)
查看>>
Linux系统监测—查询系统CPU,内存,IO信息
查看>>
laravel 获取器和修改器
查看>>
mysql spider之拆库无忧
查看>>
Eclipse中文乱码解决方案
查看>>
C#通过字符串名称来调用对应字符串名称的方法
查看>>
Linux常用命令
查看>>
学习笔记:ASP.NET MVC之路由
查看>>