我刚读过这篇文章:http://docs.oracle.com/javafx/2/webview/jfxpub-webview.htm它展示了如何使用javafx库构建Java应用程序,以及如何使用WebEngine和WebView等某些类在应用程序中显示网页,基本上转向它进入浏览器。
以下是文章中的一些相关信息:
嵌入式浏览器组件基于WebKit,一种开源Web 浏览器引擎。它支持层叠样式表(CSS),JavaScript, 文档对象模型(DOM)和HTML5。
嵌入式浏览器使您可以执行以下任务 您的JavaFX应用程序:
- 从本地和远程网址呈现HTML内容
- 获取网络历史记录
- 执行JavaScript命令
- 从JavaScript执行上传到JavaFX
- 管理网络弹出窗口
- 将效果应用于嵌入式浏览器
醇>
我基本上完全不需要Java或JavaFX GUI工具,除了显示HTML和CSS所需的工具,如本文所述,并为我的应用程序构建HTML和CSS的整个用户界面。我希望各种HTML按钮能够在我的java代码中发生事件。
这看起来是个好主意吗?因为它对我来说似乎是一个好主意,我也想知道为什么有人会使用任何其他方法在java中构建GUI。
答案 0 :(得分:2)
我正在使用单个WebView
创建整个桌面应用程序,它是available at github。基本上它的UI是一个HTML文件,它链接了十几个JS文件。要从JS调用Java,我将请求包装到json中并调用Java外观bean。也可以以相同的方式从Java调用JS。虽然可以通过在具有任何类型参数的Java bean上调用方法来直接调用Java,但我确实有一些应用程序崩溃,之后我决定使它完全安全并保持json。这个应用程序使用AngularJS和Twitter Bootstrap来呈现页面。
我在Oracle的JIRA中创建了一个票证,以便在WebView中实现更好的Java集成(JSR-223),他们的答案是它可以安排在Java 9中。
开发速度非常快,当设置过程时 - 由于没有调试器,因此很难在开始时调试应用程序。一些顶级JS异常也没有被捕获。目前我在JavaFX 8中没有使用WebView问题。由于字体问题,JavaFX 7对我来说无法使用。
回答你的上一个问题 - 我不知道,但情况恰恰相反。出于某种原因,Oracle为JavaFX本机组件开发提供了资源,但不是为了更好的WebView集成。
答案 1 :(得分:0)
您可以将Struts2或Spring MVC等MVC框架与AJAX
一起使用,并使用HTML / CSS完全构建用户界面(视图组件)。有时,使用FreeMarker 3等模板引擎也有助于用纯HTML / CSS解决方案替换默认的java渲染。
答案 2 :(得分:0)
Vaadin是一个复杂的基于servlet的框架,它创建基于服务器端的应用程序,运行纯Java代码,同时在HTML,CSS和JavaScript中自动呈现客户端的用户界面。
您无需了解或完成这些Web客户端技术的编程,Vaadin会为您完成所有与Web相关的工作。没有网页模板,没有网页,没有网页。您的Java代码只是创建标签,字段,按钮和布局。 Vaadin将那些即时转换为在浏览器中呈现。服务器上的纯Java,客户端/浏览器端根本没有Java。
Vaadin不是“另一个Web应用程序框架”。除了使用自己的专有Xojo语言的非Java OOP网络版之外,它在架构方面确实没有直接的竞争对手。
答案 3 :(得分:0)