我使用下面的代码,我发现(How can I use Drag-and-Drop in Swing to get file path?从ABika)做拖放:@SuppressWarnings(“未登记”),不拖工作拖放
final class FileDropHandler extends TransferHandler {
@Override
public boolean canImport(TransferHandler.TransferSupport support) {
for (DataFlavor flavor : support.getDataFlavors()) {
if (flavor.isFlavorJavaFileListType()) {
return true;
}
}
return false;
}
@Override
@SuppressWarnings("unchecked")
public boolean importData(TransferHandler.TransferSupport support) {
if (!this.canImport(support))
return false;
List<File> files;
try {
files = (List<File>) support.getTransferable()
.getTransferData(DataFlavor.javaFileListFlavor);
} catch (UnsupportedFlavorException | IOException ex) {
// should never happen (or JDK is buggy)
return false;
}
for (File file: files) {
// do something...
}
return true;
}
}
处理程序,然后添加到一个零件。
但问题是,尽管“@SuppressWarnings(”未登记“)”,我得到了一个错误:
The type List is not generic; it cannot be parameterized with arguments < File>
谁能告诉我这里有什么问题?看起来很直截了当。 感谢
无法重现。也许你有另一个名为List的类? – assylias
请添加您的进口。我认为'List'类不是来自'java.util' – QBrute