Salve a tutti, scrivo l'ennesimo post relativo al Drag&Drop perchè sfortunatamente ancora non riesco a saltarci fuori. Dato il seguente codice:
Le parti mancanti inseriscono i file trascinati un combobox. Il problema è che: if(file.exists()) mi fa comparire sempre il messaggio di errore, poichè tale comando si attiva ogni volta che si rilascia un file... Una possibile soluzione, secondo la mia ignoranza, sarebbe di comparare i file.path(). Il problema è che io ho solo il file path del file che trascino e che dico di aggiungere alla combobox.add(file.getName()). Come faccio a risolvere il problema? Non riesco veramente a risolvere tale problemacodice:public void drop(DropTargetDropEvent dtde) { Transferable obj = dtde.getTransferable(); DataFlavor[] data = obj.getTransferDataFlavors(); for (int i = 0; i < data.length; i++) { if (data[i].isFlavorJavaFileListType()) { dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); try { java.util.List list = (java.util.List) obj.getTransferData(data[i]); for(int j=0; j < list.size(); j++) { File file = (File) list.get(j); if (m_attachment.addEntry(file)) { (...) //aggiungo il file dentro una combobox if(file.exists()) { int returnVal = JOptionPane.showConfirmDialog(this, "The file" + file + "already exists!\nDo you want to replace it?", "File exists", JOptionPane.OK_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE); if (returnVal != JOptionPane.OK_OPTION) { return; } else { (..) } } } } } catch(Exception e) { e.printStackTrace(); } } } }![]()