Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - test drag and drop
Forum - Java - test drag and drop

Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 15:18
Lunedì, 25/10/2010
salve ragazzi..ho testato il drag and drop cerkando di trasferire dal O.S. una immagine ed inserirla  in una jlabel  ma non riesco neanche a prelevare la path del file ricevuto cosa sbaglio ?
a me interessa trasferire solo 1a  immagine per volta non molte contemporaneamente.. quindi come potrei aggirare il problema ? non mi funziona.


public void drop(DropTargetDropEvent dtde) {
        Transferable obj = dtde.getTransferable();
        DataFlavor[] data = obj.getTransferDataFlavors();
        for (int i = 0; i < data.length; i++) {
            if (data.isFlavorRemoteObjectType()) {
                dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
                try {
                    File f = (File) obj.getTransferData(data);
                    System.out.println("Percorso file: " + f.getAbsolutePath());
                } catch (Exception e) {
                }
            }
        }
}

mi entra sempre in exception...come mai ? non riesco a recuperare un file qualsiasi.
fatemi sapere presto.grazie

Ultima modifica effettuata da killer il 25/10/2010 alle 16:32
PM Quote
Avatar
GuglielmoS (Ex-Member)
Pro


Messaggi: 114
Iscritto: 27/11/2009

Segnala al moderatore
Postato alle 16:20
Lunedì, 25/10/2010
Testo quotato

Postato originariamente da killer:

salve ragazzi..ho testato il drag and drop cerkando di trasferire dal O.S. una immagine ed inserirla  in una jlabel  ma non riesco neanche a prelevare la path del file ricevuto cosa sbaglio ?
a me interessa trasferire solo 1a  immagine per volta non molte contemporaneamente.. quindi come potrei aggirare il problema ? non mi funziona.


public void drop(DropTargetDropEvent dtde) {
        Transferable obj = dtde.getTransferable();
        DataFlavor[] data = obj.getTransferDataFlavors();
        for (int i = 0; i < data.length; i++) {
            if (data.isFlavorRemoteObjectType()) {
                dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
                try {
                    File f = (File) obj.getTransferData(data);
                    System.out.println("Percorso file: " + list.getAbsolutePath());
                } catch (Exception e) {
                }
            }
        }
}

mi entra sempre in exception...come mai ? non riesco a recuperare un file qualsiasi.
fatemi sapere presto.grazie


Non conosco il drag and drop di java, però quando stampi il percorso mi sembra sia sbagliata la variabile da cui prelevare l'indirizzo del file.
Infatti credo sia questo quello che tu voglia fare:
Codice sorgente - presumibilmente Java

  1. File f = (File) obj.getTransferData(data[i]);
  2.                     System.out.println("Percorso file: " + f.getAbsolutePath()); // non list ma f


Spero di aver capito quello che intendi.
Ciao GuglielmoS

PM Quote
Avatar
killer (Normal User)
Expert


Messaggi: 217
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 16:31
Lunedì, 25/10/2010
provato non funziona... se inserisco List<File> funziona se inserisco solo File f non funziona come mai ? :(

PM Quote