zoukankan      html  css  js  c++  java
  • java 实现拖动文件到窗口功能

    package tuo;
    
    import java.awt.BorderLayout;
    import java.awt.Color;
    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.JOptionPane;
    import javax.swing.JPanel;
    import javax.swing.UIManager;
    import javax.swing.UnsupportedLookAndFeelException;
    
    public class tuo extends JFrame{
        
        JPanel jp1;
        public tuo()
         {
            
            jp1 =new JPanel();
            jp1.setBackground(Color.yellow);
            getContentPane().add(jp1,BorderLayout.CENTER);
            setSize(500,200);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setLocation(400,200);
            setTitle("tuozhuai");
            drag();
            
            
            
         }
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            try {
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (InstantiationException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (UnsupportedLookAndFeelException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            new tuo().setVisible(true);
            
        }
    
        
        public void drag()
         {
            new DropTarget(jp1,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);
                            List<File>list=(List<File>)(dtde.getTransferable().getTransferData(DataFlavor.javaFileListFlavor));
                            
                            String temp="";
                            for(File file:list)
                             {
                                temp+=file.getAbsolutePath()+";
    ";
                                JOptionPane.showMessageDialog(null, temp);
                                dtde.dropComplete(true);
                                
                             }
                            
                         }
                        
                        else
                         {
                            
                            dtde.rejectDrop();
                         }
                        
                    }catch(Exception e){e.printStackTrace();}
                    
                }
                
                
             });
            
            
         }
        
    }
  • 相关阅读:
    搭建个人Spring-Initializr服务器
    “不蒜子”统计总访问人数脚本
    基于Hazelcast及Kafka实现的分布式锁与集群负载均衡
    虚拟机部署hadoop集群
    程序员、黑客及开发者之间的区别
    今日校园自动登录教程
    逆向DES算法
    来自穷逼对HttpCanary的蹂躏
    今日校园提交签到和查寝-Java实现
    JS 判断数据类型方法
  • 原文地址:https://www.cnblogs.com/luo-mao/p/5980423.html
Copyright © 2011-2022 走看看