2013-04-01 37 views
0

我想做一個簡單的應用程序,它使用DnD獲取文件路徑。我發現here實際上是一樣的東西,我想用它。但我得到一個錯誤 - 類型列表不帶參數。當我嘗試DnD時,如果它工作正常,我會得到肯定的答案,但我不知道任何其他可能性,如何獲取文件路徑。這是我使用的代碼:
java拖放 - 列表不參數參數

jTextField8.setDropTarget(new DropTarget() { 
     public synchronized void drop(DropTargetDropEvent evt) { 
      try { 
       evt.acceptDrop(DnDConstants.ACTION_COPY); 
       List<File> droppedFiles = (List<File>) evt.getTransferable().getTransferData(DataFlavor.javaFileListFlavor); 
       for (File file : droppeFiles) { 
        jTextArea1.append("Drag & Drop OK"); 
       } 
      } catch (UnsupportedFlavorException ex) { 
       Logger.getLogger(MainForm.class.getName()).log(Level.SEVERE, null, ex); 
      } catch (IOException ex) { 
       Logger.getLogger(MainForm.class.getName()).log(Level.SEVERE, null, ex); 
      } 
     } 
    }); 
+0

呃......你編譯反對JDK 5.0+? – dierre

+0

是的,JDK 7,更新6 – mmaverikk

回答

1

檢查您的導入。

您可能正在使用java.awt.List而不是java.util.List<E>java.awt.List是非通用GUI組件(即,它不需要類型參數),而java.awt.List<E>是通用數據結構。

如果你是故意使用java.awt.List的GUI,請記住它已被棄用(或至少被遺棄)作爲原始AWT的一部分;考慮切換到javax.swing.JList

如果絕對有使用java.awt.Listjava.util.List<E>在同一個文件:

java.awt.List myGuiList = new java.awt.List(); 
java.util.List<File> myFileList = new ArrayList<File>(); 
+0

謝謝,這絕對有效,解決我的問題。 – mmaverikk