JavaFX TableView中的拖放事件

4

我想给我的JavaFX应用程序添加拖放支持。 我的要求是,如果有人从本地文件系统中拖动文件并将其放置到JavaFX TableView中,则它必须识别丢弃事件,并告诉我如何获取已丢弃文件的列表。


在 SWT 中更容易,但是也许这个能帮到你:https://dev59.com/3Wox5IYBdhLWcg3weUCe - Romczyk
1个回答

4
我建议使用官方的JavaFX 2文档。
您可以访问以下链接:http://docs.oracle.com/javafx/2/drag_drop/jfxpub-drag_drop.htmhttp://docs.oracle.com/javafx/2/drag_drop/HelloDragAndDrop.java.html,来了解处理拖放事件需要使用的方法:
target.setOnDragOver target.setOnDragEntered
target.setOnDragExited
target.setOnDragDropped
然后,在这些事件的DragEvent中,您可以使用getDragboard()访问拖动内容,该内容继承自Clipboard。从这里,您有一些方法,如getFiles,这就是您所需的。

1
是的,它正在工作。感谢您的回复。我能反过来做吗?我的意思是从JavaFX TableView拖动对象(行)并将其放到本地文件系统中。 - Ronak Jain
拖放板应该是标准的,所以在我给出的第一个链接中,有一个“source.setOnDragDetected”,在其中您可以将一些内容放入拖放板(例如,您可以使用putFiles):/* 在拖放板上放置字符串 */ ClipboardContent content = new ClipboardContent(); content.putString(source.getText()); db.setContent(content); - Renato

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接