java swing 控件拖动_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 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中实现拖拽功能示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HP-M128fn 打印机如何下载安装驱
- 下一篇: java 视频监控 分屏ui_视频监控网