隨筆 - 17  文章 - 84  trackbacks - 0
          <2007年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          如非特別說明,所有文章均為原創。如需引用,請注明出處
          Email:liangtianyu@gmail.com
          MSN:terry.liangtianyu@hotmail.com

          常用鏈接

          留言簿(4)

          隨筆分類(12)

          隨筆檔案(17)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 52009
          • 排名 - 962

          最新評論

          閱讀排行榜

          評論排行榜

          需求:
          在瀏覽器中顯示文件列表,每個文件前面有個圖標,拖動圖標到應用程序,可以直接在應用程序中打開對的文件。

          環境:
          JDK:6.0
          Develop Tools:Eclipse 3.30

          備注:
          圖標用Applet顯示,直接拖拽Applet就可以實現此功能

          代碼:
           1public class GragUtil extends Applet implements DropTargetListener, DragSourceListener,
           2        DragGestureListener, Transferable {
           3    String path;
           4    DropTarget dropTarget=new DropTarget(this,this);
           5    DragSource dragSource=DragSource.getDefaultDragSource();
           6    
           7    public String getPath(){
           8        return this.path;
           9    }

          10    
          11    public void setPath(String path){
          12        this.path=path;
          13    }

          14
          15    public GragUtil() {
          16        dragSource.createDefaultDragGestureRecognizer(this, DnDConstants.ACTION_COPY_OR_MOVE,this);
          17    }

          18
          19    public void dragEnter(DropTargetDragEvent dropTargetDragEvent) {
          20        dropTargetDragEvent.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);
          21    }

          22
          23    public void dragExit(DropTargetEvent dropTargetEvent) {
          24        // TODO Auto-generated method stub
          25
          26    }

          27
          28    public void dragOver(DropTargetDragEvent dropTargetDragEvent) {
          29        // TODO Auto-generated method stub
          30
          31    }

          32
          33    public void drop(DropTargetDropEvent dropTargetDropEvent) {
          34        
          35    }

          36
          37    public void dropActionChanged(DropTargetDragEvent arg0) {
          38        // TODO Auto-generated method stub
          39
          40    }

          41
          42    public void dragDropEnd(DragSourceDropEvent arg0) {
          43        // TODO Auto-generated method stub
          44
          45    }

          46
          47    public void dragEnter(DragSourceDragEvent arg0) {
          48        // TODO Auto-generated method stub
          49
          50    }

          51
          52    public void dragExit(DragSourceEvent arg0) {
          53        // TODO Auto-generated method stub
          54
          55    }

          56
          57    public void dragOver(DragSourceDragEvent arg0) {
          58        // TODO Auto-generated method stub
          59
          60    }

          61
          62    public void dropActionChanged(DragSourceDragEvent arg0) {
          63        // TODO Auto-generated method stub
          64
          65    }

          66
          67    public void dragGestureRecognized(DragGestureEvent dragGestureEvent) {
          68        dragGestureEvent.startDrag(DragSource.DefaultCopyDrop,this,this);
          69    }

          70
          71    public Object getTransferData(DataFlavor flavor)
          72            throws UnsupportedFlavorException, IOException {
          73        if(flavor==DataFlavor.javaFileListFlavor){
          74            ArrayList<File> files=new ArrayList<File>();
          75            files.add(new File(this.path));
          76            return files;
          77        }

          78        else{
          79            throw new UnsupportedFlavorException(flavor);
          80        }

          81    }

          82
          83    public DataFlavor[] getTransferDataFlavors() {
          84        return new DataFlavor[]{DataFlavor.javaFileListFlavor};
          85    }

          86
          87    public boolean isDataFlavorSupported(DataFlavor flavor) {
          88        return flavor==DataFlavor.javaFileListFlavor;
          89    }

          90
          91}
          posted on 2007-08-30 11:52 Terry Liang 閱讀(989) 評論(3)  編輯  收藏

          FeedBack:
          # re: 用Applet實現基于Browser的文件拖動 2007-08-30 12:37 JAVA面試題
          路過,收藏  回復  更多評論
            
          # re: 用Applet實現基于Browser的文件拖動 2007-08-30 12:54 交口稱贊
          記得以前寫applet批量上傳的時候,要做證書才能訪問本地目錄

          這個要么  回復  更多評論
            
          # re: 用Applet實現基于Browser的文件拖動 2007-08-30 14:11 Terry Liang
          @交口稱贊
          需要
          當然也可以直接修改%JAVA_HOME%\lib\security\java.policy文件,加上:
          permission java.security.AllPermission
          也可以
          網上解決諸如此類問題的資料很多  回復  更多評論
            

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 丹凤县| 海盐县| 大竹县| 清流县| 芮城县| 五原县| 桐庐县| 神池县| 河池市| 凤庆县| 会东县| 宽城| 杨浦区| 虹口区| 衡南县| 获嘉县| 井冈山市| 尼木县| 桂东县| 明水县| 义马市| 南涧| 台东县| 绥江县| 班戈县| 梁山县| 双城市| 黄梅县| 鱼台县| 嘉定区| 稻城县| 阿鲁科尔沁旗| 桓台县| 黄陵县| 陆河县| 万盛区| 内丘县| 栖霞市| 招远市| 无棣县| 镇平县|