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

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

          常用鏈接

          留言簿(4)

          隨筆分類(12)

          隨筆檔案(17)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 52175
          • 排名 - 961

          最新評論

          閱讀排行榜

          評論排行榜

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

          環境:
          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 閱讀(993) 評論(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
          也可以
          網上解決諸如此類問題的資料很多  回復  更多評論
            

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


          網站導航:
           
          主站蜘蛛池模板: 泰州市| 磴口县| 翁源县| 白水县| 长垣县| 庄河市| 汝州市| 新安县| 汤阴县| 万宁市| 舟曲县| 行唐县| 阿勒泰市| 沙雅县| 永昌县| 大埔县| 资源县| 宜春市| 宜宾县| 望城县| 宜阳县| 深泽县| 乐山市| 清流县| 区。| 来宾市| 鸡东县| 手游| 南靖县| 社会| 讷河市| 安塞县| 长沙县| 读书| 侯马市| 兴宁市| 万山特区| 博乐市| 康保县| 二连浩特市| 岳阳县|