【发布时间】:2015-12-07 14:27:12
【问题描述】:
我希望文本字段能够处理从查找器中删除的文件。
这似乎在使用 JavaFX 8 的 Mac OS X 上被忽略了。我看不出代码有任何问题,可以吗?
只有“进入!”被打印出来。 “掉了!”永远不会被打印出来。
...
txtSource = (TextField)scene.lookup("#txtSource");
txtSource.setOnDragEntered(this::handleEnter);
txtSource.setOnDragDropped(this::handleDrop);
...
public void handleEnter(DragEvent event) {
System.out.println("Entered!");
event.acceptTransferModes(TransferMode.ANY);
event.consume();
}
public void handleDrop(DragEvent event) {
System.out.println("Dropped!");
Dragboard db = event.getDragboard();
boolean success = false;
if (db.hasFiles()) {
File f = db.getFiles().get(0);
TextField t = (TextField)event.getAcceptingObject();
t.setText(f.getAbsolutePath());
success = true;
}
/* let the source know whether the string was successfully
* transferred and used */
event.setDropCompleted(success);
event.consume();
}
【问题讨论】:
标签: macos javafx drag-and-drop javafx-8