Hallo zusammen,
ich will eine Datei von „außerhalb“ (Desktop usw.) auf ein Textfeld in meiner Java-Applikation ziehen und den Dateinamen bzw. den Pfad zur Datei dann in das Textfeld schreiben.
Wie das ganze mit einem „gedraggten“ Text funktioniert hab ich schon rausgefunden, nur weiß ich nicht was ich machen muss um obiges zu realisieren. Hier mein Codeausschnitt:
class DropTargetTextField extends JTextField implements DropTargetListener {
public DropTargetTextField() {
new DropTarget(this, this);
}
// ...
public void drop(DropTargetDropEvent ev) {
try {
Transferable ta = ev.getTransferable();
if (ta.isDataFlavorSupported(DataFlavor.stringFlavor)) {
ev.acceptDrop(DnDConstants.ACTION\_COPY\_OR\_MOVE);
String s = (String)ta.getTransferData(DataFlavor.stringFlavor);
ev.getDropTargetContext().dropComplete(true);
this.setText(s);
} else {
ev.rejectDrop();
}
} catch (IOException e) {
ev.rejectDrop();
} catch (UnsupportedFlavorException e) {
ev.rejectDrop();
}
}
}
Ich hoffe jemand von euch kann mir weiterhelfen.
Vielen Dank,
stefan