日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 拖拽文件到文本框

發布時間:2025/5/22 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 拖拽文件到文本框 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java中如何把文件拖拽到文本框呢?

先看一個例子:

?

?

?

核心代碼:

Java代碼??
  • /***?
  • ?????*?拖拽文件到文本框?
  • ?????*?@param?component?
  • ?????*/??
  • ????public?void?drag(final?Component?component)//?定義的拖拽方法??
  • ????{??
  • ????????//?panel表示要接受拖拽的控件??
  • ????????new?DropTarget(component,?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<File>?list?=?(List<File>)?(dtde??
  • ????????????????????????????????????????.getTransferable()??
  • ????????????????????????????????????????.getTransferData(DataFlavor.javaFileListFlavor));??
  • //??????????????????????????????String?temp?=?"";??
  • //??????????????????????????????for?(File?file?:?list)??
  • //??????????????????????????????????temp?+=?file.getAbsolutePath()?+?";\n";??
  • //??????????????????????????????JOptionPane.showMessageDialog(null,?temp);??
  • ????????????????????????????????dragResponse(list,component);??
  • ????????????????????????????????dtde.dropComplete(true);//?指示拖拽操作已完成??
  • ????????????????????????????}?else?{??
  • ????????????????????????????????dtde.rejectDrop();//?否則拒絕拖拽來的數據??
  • ????????????????????????????}??
  • ????????????????????????}?catch?(Exception?e)?{??
  • ????????????????????????????e.printStackTrace();??
  • ????????????????????????}??
  • ????????????????????}??
  • ????????????????});??
  • ????}??
  • ??
  • /***?
  • ?????*?默認實現?
  • ?????*/??
  • ????@Override??
  • ????protected?void?dragResponse(List<File>?list,Component?component)?{??
  • ????????String?filePath=list.get(0).getAbsolutePath();??
  • ????????if(component?instanceof??JTextComponent){??
  • ????????????JTextComponent?text=(JTextComponent)component;??
  • ????????????//把文本框的內容設置為拖拽文件的全路徑??
  • ????????????text.setText(filePath);??
  • ????????}??
  • ????}??
  • ?調用:

    ?

    ?

    項目采用maven?構建,項目結構:

    總結

    以上是生活随笔為你收集整理的Java 拖拽文件到文本框的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。