【发布时间】:2016-03-12 19:39:33
【问题描述】:
我找不到任何类似这样的问题:JavaFX 中有没有办法显示一个接受用户从浏览器拖放的文本的 GUI(舞台)?
例如,用户导航到某个 URL,然后复制所有页面的文本并将其拖到显示的 JavaFX 阶段。然后可以在 Java 程序中使用该文本。我不想使用 Selenium,这样我的应用就不会执行任何类似抓取的活动。
我正在寻找与 Windows XP+ 和所有浏览器兼容的解决方案。
任何关于起点、教程、帖子或限制的反馈都很棒。谢谢
【问题讨论】:
-
JavaFX 支持从本地源拖放。 docs.oracle.com/javafx/2/drag_drop/jfxpub-drag_drop.htm
-
抱歉,您所说的本地资源是什么意思?我的 JavaFX 应用程序最终将成为用户 PC 上的可执行 jar。这是否意味着如果他们安装了 Chrome、IE、Firefox 等,它被认为是原生源,因此与 jar 文件兼容?我现在就开始阅读。
-
“本地来源”是指来自 Java 虚拟机之外(即来自计算机上运行的其他应用程序)。本机网络浏览器(或任何网络浏览器)就是一个例子。
-
@JimJim 您的 JavaFX 应用程序可以从任何其他应用程序接收 DnD,无论是用户的浏览器、Word、记事本等。只需实施适当的放置目标,您就可以开始了。事实上,默认文本区域可能会采用 DnD 而无需您执行任何操作,就像它会接受粘贴一样。
-
@JimJim 无赖,懒惰的 JavaFX 实现者。需要考虑的一个有点相关的事情是,从用户体验的角度来看,大块文本的 DnD 是一个非常挑剔和繁琐的操作,尤其是在不同的、可能重叠的窗口之间。剪切和粘贴更简单,如果您想变得花哨并且您的来源是浏览器,您可以编写一个书签,通过本地 HTTP 调用将内容发送到您的应用程序。
标签: browser text javafx drag-and-drop stage