您现在的位置是:首页 >

为什么不能拖拽文件 Java拖放文件到Swing窗口

火烧 2021-06-26 16:10:10 1072
Java拖放文件到Swi g窗口   经过测试是没有问题的  代码   ackage te t ui   im ort java awt datatra fer DataFlavor   im ort

Java拖放文件到Swing窗口  

  经过测试是没有问题的

  代码

  package test ui;

  import java awt datatransfer DataFlavor;

  import java awt datatransfer UnsupportedFlavorException;

  import java awt dnd DnDConstants;

  import java awt dnd DropTarget;

  import java awt dnd DropTargetDragEvent;

  import java awt dnd DropTargetDropEvent;

  import java awt dnd DropTargetEvent;

  import java awt dnd DropTargetListener;

  import java io File;

  import java io IOException;

  import java util Iterator;

  import java util List;

  import javax swing JTextArea;

  public class DragFile extends javax swing JFrame {

  public DragFile() {

  initComponents();

  }

  /**

  * This method is called from within the constructor to initialize the form

  * WARNING: Do NOT modify this code The content of this method is always

  * regenerated by the Form Editor

  */

  // <editor fold defaultstate= collapsed desc= 生成的代码 >

  private void initComponents() {

  jScrollPane = new javax swing JScrollPane();

  jTextArea = new MyTextArea();

  setDefaultCloseOperation(javax swing WindowConstants EXIT_ON_CLOSE);

  jTextArea setColumns( );

  jTextArea setRows( );

  jScrollPane setViewportView(jTextArea );

  getContentPane() add(jScrollPane java awt BorderLayout CENTER);

  pack();

  }// </editor fold>

  /**

  * @param args

  *            the mand line arguments

  */

  public static void main(String args[]) {

  java awt EventQueue invokeLater(new Runnable() {

  public void run() {

  new DragFile() setVisible(true);

  }

  });

  }

  class MyTextArea extends JTextArea implements DropTargetListener {

  public MyTextArea() {

  new DropTarget(this DnDConstants ACTION_COPY_OR_MOVE this);

为什么不能拖拽文件 Java拖放文件到Swing窗口

  }

  public void dragEnter(DropTargetDragEvent dtde) {

  }

  public void dragOver(DropTargetDragEvent dtde) {

  }

  public void dropActionChanged(DropTargetDragEvent dtde) {

  }

  public void dragExit(DropTargetEvent dte) {

  }

  public void drop(DropTargetDropEvent dtde) {

  try {

  // Transferable tr = dtde getTransferable();

  if (dtde isDataFlavorSupported(DataFlavor javaFileListFlavor)) {

  dtde acceptDrop(DnDConstants ACTION_COPY_OR_MOVE);

  List list = (List) (dtde getTransferable() getTransferData(DataFlavor javaFileListFlavor));

  Iterator iterator = erator();

  while (iterator hasNext()) {

  File f = (File) iterator next();

  this append(f getAbsolutePath() + n );

  }

  dtde dropComplete(true);

  this updateUI();

  } else {

  dtde rejectDrop();

  }

  } catch (IOException ioe) {

  ioe printStackTrace();

  } catch (UnsupportedFlavorException ufe) {

  ufe printStackTrace();

  }

  }

  }

  // 变量声明 不进行修改

  private javax swing JScrollPane jScrollPane ;

  private javax swing JTextArea jTextArea ;

  // 变量声明结束

lishixinzhi/Article/program/Java/hx/201311/26318  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码