Drag and drop sous linux

Fermé
ayoubnejm Messages postés 4 Date d'inscription jeudi 14 février 2013 Statut Membre Dernière intervention 30 avril 2013 - 30 avril 2013 à 13:43
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 30 avril 2013 à 18:43
Bonjour,

je devais créer une application en java et j'ai rencontré un problème, je vous explique :
je dois faire un drag and drop pour un fichier, quand je le glisse dans un jTable, je récupéré juste son chemin, mais le problème c'est que ça marche sous windows mais pas sous linux,quand je travail sous linux et je glisse le fichier j'obtient son chemin préfixé par file://, comment je fais pour l'enlever sous linux.
Voila un bout de code :

public boolean importData(TransferHandler.TransferSupport info) {

		if (!info.isDrop()) {
			return false;
		}

		Transferable t = info.getTransferable();

		// Verifie qu'on a une String flavor
		if (!info.isDataFlavorSupported(DataFlavor.stringFlavor)) {
			return false;
		}

		// On recherche l'emplacement du drop
		MyJTable.DropLocation dl = (MyJTable.DropLocation) info
				.getDropLocation();

		int d = dl.getRow();
		MyJTable jtab = (MyJTable) info.getComponent();
		String s = String.valueOf(jtab.getValueAt(d, 0));
		String str = "";

		try {
			str = (String) t.getTransferData(DataFlavor.stringFlavor);
		} catch (UnsupportedFlavorException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		System.out.println(str + " en " + s);

	 

		xmlFile.XmlFile.addElement("Playlists/" + s + ".xml", str);
		 

		return true;
	}

}

Merci d'avance
A voir également:

1 réponse

KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 020
30 avril 2013 à 18:43
Vu ton code j'imagine que c'est ta variable "s" qui commence par "file://", dans ce cas il suffit de l'enlever comme ceci :

s = s.replaceFirst("file://","");
0