使用嵌入式Web浏览器(例如Chrome)作为Java桌面应用程序的GUI工具包?

Miv*_*ven 28 java user-interface desktop html5 google-chrome

那些HTML5网站看起来很棒 - 为什么我的Java桌面应用程序没有?Swing和SWT就是老派.他们完成了自己的工作,但是用动画制作看上去漂亮的图形用户界面,一切都是不可能的.

我想知道:是否可以使用HTML5作为GUI工具包?我有一个库,它有一个类似于Swing或SWT的API,但在HTML5中呈现.它应该是可以的,您应该访问Java中的页面(即Java和JavaScript/HTML5之间的某些融合).

为什么不创建一个Web应用程序并向我的用户发送URL?我想从Java SE应用程序(文件,COM,托盘图标等)的真实桌面集成中受益.就像PhoneGap一样,但对于桌面操作系统而不是手机.

令人惊讶的是我在网上找不到那样的东西.但也许我刚刚输入错误的搜索字词?有人有想法吗?

或者如果没有:我能以某种方式将WebKit/Chrome与我的应用程序一起嵌入吗?因此,用户不必安装自己的副本,也不必更改任何设置.

Mik*_*est 9

我想到两件事:

  • Adobe Air,或多或少正是您所需要的:适用于桌面的PhoneGap.
  • Chromium Embedded Framework,您只需付出一点努力就可以使用Chromium作为应用程序的框架.


ali*_*air 5

你应该看看JavaFX 2.0.它允许您在FXML中指定GUI组件,并支持CSS样式.它还有一个"WebView"组件,可以让您轻松地在应用程序中显示网页.

编辑2015年11月28日

JavaFX概述部分已经移动.

从JDK 7u6开始,JavaFX包含在标准JDK和JRE包中.请下载JDK或JRE以使用JavaFX.

如果您正在寻找JavaFX Scene Builder下载,您可以在主Java SE下载页面的"其他资源"部分找到它.

请更新指向新位置的链接.


Vla*_*mir 5

TeamDev Ltd.最近发布了JxBrowser库,允许你做你想做的事情.它允许将基于Chromium的Web浏览器控件嵌入到Java Swing/AWT应用程序中.它支持Chromium多进程架构并在屏幕外呈现网页.使用JxBrowser,您将获得一个完全轻量级的Swing Browser组件,该组件可以显示与Google Chrome应用程序完全相同的网页.


Raf*_*ele 0

与标准浏览器中的 HTML gui 相比,您期望有什么优势?许多程序都带有自己的 HTTP 服务器,以简化 UI 开发。我也读过QtQuickYouTube 演示),但自己从未尝试过

我有以下几点需要指出

  1. 在浏览器中调试/测试 GUI 更简单
  2. 更小的封装
  3. 开发时间优化
  4. 真正的跨平台(至少,当你有一个HTTP服务器作为应用程序逻辑处理器时,跨平台会更容易)