我正在尝试使用JavaFX 2.0编写一个应用程序,其中包含一个Web浏览器控件,允许用户浏览HTML页面上的文本和图像仅使用键盘 - 基本上就像Internet Explorer中的“插入浏览”。
目标是能够选择一些文本或图像,并将它们复制到变量中,以便在不使用鼠标的情况下进行进一步操作。
我在这里看了一下HTMLEditor控件: http://docs.oracle.com/javafx/2.0/ui_controls/editor.htm#CHDBEGDD 但我不需要任何编辑功能混乱UI,文档说:
格式化工具栏是在执行中提供的 零件。你无法切换他们的知名度。
WebView似乎是一个合理的选择(http://docs.oracle.com/javafx/2.0/webview/jfxpub-webview.htm),但我不确定如何将光标放到页面上。
任何建议都将受到赞赏。
答案 0 :(得分:1)
当前WebView对插入符号浏览的支持对我来说似乎不完整。
以下是我发现的快速测试:
webView.requestFocus
让WebView请求专注于响应按键,但它只是作为一个整体在WebView上运行,而不是在WebView中的单个组件。上述限制,以及我未测试过的其他限制,可能会让您很难完成您想要做的事情。您可以尝试使用eventfilter捕获按键事件等内容,然后生成鼠标事件以启动选择和复制过程,但这听起来很难,即便如此,JavaFX中目前还没有生成公共API来生成鼠标事件,只有不稳定的com.sun
api。
WebView确实公开了document object model,文档为scriptable by JavaScript。尝试使用eventfilter捕获关键事件,在文档属性中搜索更改并在适当的时间针对WebView执行JavaScript以获取和设置当前选择。实施起来似乎有点棘手。
使用当前的WebView控件和公共API,并在遇到短缺时http://javafx-jira.kenai.com处记录问题,尽可能多地完成。