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

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

          常用鏈接

          留言簿(4)

          隨筆分類(12)

          隨筆檔案(17)

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 52013
          • 排名 - 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 閱讀(990) 評論(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
          也可以
          網上解決諸如此類問題的資料很多  回復  更多評論
            

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


          網站導航:
           
          主站蜘蛛池模板: 同江市| 临夏市| 凉城县| 肇东市| 留坝县| 永顺县| 米易县| 阜阳市| 清镇市| 洛扎县| 和政县| 磐石市| 政和县| 诏安县| 恩施市| 衡东县| 项城市| 嵊泗县| 土默特右旗| 海淀区| 滨海县| 平凉市| 博爱县| 泗阳县| 纳雍县| 正蓝旗| 仁化县| 江源县| 开远市| 繁峙县| 天全县| 浦城县| 双峰县| 永宁县| 仪陇县| 尖扎县| 军事| 东光县| 阜新市| 封丘县| 五河县|