2013-04-01 3 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.util.List<E> 대신 java.awt.List을 사용하고있을 것입니다. java.awt.List은 일반 GUI 구성 요소가 아니며 (즉, 유형 매개 변수를 사용하지 않음) java.awt.List<E>은 일반적인 데이터 구조입니다.

의도적으로 GUI에 java.awt.List을 사용하는 경우 원래 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