0

我正在尝试制作一个简单的应用程序,它使用 DnD 来获取文件路径。我在这里找到了几乎相同的东西,我想使用它。但我得到一个错误 - 类型列表不带参数。当我尝试 DnD 是否有效时,我得到了肯定的答案,但我不知道任何其他可能性,如何获取文件路径。这是我使用的代码:

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);
            }
        }
    });
4

1 回答 1

1

检查你的进口。

您可能正在使用java.awt.List而不是java.util.List<E>. java.awt.List是一个非通用的 GUI 组件(即,它不接受类型参数),而java.awt.List<E>是一个通用的数据结构。

如果您有意使用java.awt.ListGUI,请记住它已被弃用(或至少被放弃)作为原始 AWT 的一部分;考虑切换到javax.swing.JList.

如果您绝对必须在同一个文件中使用java.awt.List和:java.util.List<E>

java.awt.List myGuiList = new java.awt.List();
java.util.List<File> myFileList = new ArrayList<File>();
于 2013-04-01T16:38:40.437 回答