java swing中实现拖拽功能示例
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<File> list = (List<File>) (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 2d画图示例分享(用java画图)
- java分形绘制科赫雪花曲线(科赫曲线)代码分享
- Java Swing中的文本框(JTextField)与文本区(JTextArea)使用实例
- Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例
- Java Swing中的表格(JTable)和树(JTree)组件使用实例
- 使用java swing实现qq登录界面示例分享
- java swing标准对话框具体实现
- java基于swing实现的连连看代码
- java基于swing实现的五子棋游戏代码
- Java图形用户界面设计(Swing)的介绍
- Java实现的简单画图板示例
- AngularJS实现的简单拖拽功能示例
- js实现鼠标拖拽多选功能示例
- WinForm实现的图片拖拽与缩放功能示例
- jQuery实现的简单拖拽功能示例【测试可用】
- jQuery实现的简单拖拽功能示例
- JS实现的文件拖拽上传功能示例
- vue2.0使用Sortable.js实现的拖拽功能示例
- Android利用RecyclerView实现全选、置顶和拖拽功能示例
- JS实现的简单拖拽功能示例
- vuejs2.0运用原生js实现简单的拖拽元素功能示例
- JS实现的简单拖拽购物车功能示例【附源码下载】
- JS基于面向对象实现的拖拽功能示例
- JS基于面向对象实现的拖拽功能示例
- js实现的简练高效拖拽功能示例
- php+ajax实现仿百度查询下拉内容功能示例
- js应用-实现博客个性主页布局拖拽功能
- Python+Socket实现基于UDP协议的局域网广播功能示例
- Python编程实现微信企业号文本消息推送功能示例
- jQuery实现输入框的放大和缩小功能示例
- C#实现树型结构TreeView节点拖拽的简单功能,附全部源码,供有需要的参考