那些HTML5网站看起来很棒 - 为什么我的Java桌面应用程序没有? Swing和SWT就是老派。他们完成了自己的工作,但是用动画制作看上去很漂亮的图形用户界面,一切都是不可能的。
我想知道:是否可以将HTML5用作GUI工具包?我考虑过一个库,它有一个类似于Swing或SWT的API,但是在HTML5中渲染。它应该是可以的,您应该访问Java中的页面(即Java和JavaScript / HTML5之间的某种融合)。
为什么不创建一个网络应用程序并向我的用户发送URL呢?我想从Java SE应用程序(文件,COM,托盘图标等)的真实桌面集成中受益。就像PhoneGap一样,但桌面操作系统而不是手机。
我确实在网上找不到那样的东西。但也许我刚刚输入错误的搜索字词?有人有想法吗?
如果没有:我能以某种方式将WebKit / Chrome与我的应用程序一起嵌入吗?因此,用户不必安装自己的副本,也不必更改任何设置。
答案 0 :(得分:9)
我想到了两件事:
答案 1 :(得分: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主Java下载的“其他资源”部分 页。
请更新指向the new location的链接。
答案 2 :(得分:5)
TeamDev Ltd.最近发布了JxBrowser库,可以让你做你想做的事情。它允许将基于Chromium的Web浏览器控件嵌入到Java Swing / AWT应用程序中。它支持Chromium多进程架构并在屏幕外呈现网页。使用JxBrowser,您将获得一个完全轻量级的Swing Browser组件,该组件可以像在Google Chrome应用程序中一样显示网页。
答案 3 :(得分:3)
在桌面应用程序中使用HTML / JavaScript的一种方法是在应用程序中嵌入HTML服务器。然后一个网页将成为GUI。 如果您使用
,它实际上是几十行代码实施例: simple HTTP server in Java using only Java SE API
您需要从Web服务器(甚至在本地主机上)提供GUI网页,以避免此处描述的JavaScript相同的源策略冲突
答案 4 :(得分:3)
过了一段时间,所以我不知道这是否有用。但是你可以看看DukeScript(http://wiki.apidesign.org/wiki/DukeScript),这是Netbeans IDE的原作者的概念。据我所知,这个想法是在HTML5环境中开发Java应用程序。它依赖于浏览器作为平台(支持Chrome)和Javascript中运行在浏览器中的JVM(实际上有两个,它们自己的bck2brwsr和TeaVM)。您甚至可以使用JavaFX,并且可以部署到Android,iOS或浏览器。有关示例,请查看http://dukescript.com。
答案 5 :(得分:0)
与标准浏览器中的HTML gui相比,您期望有什么优势?很多程序都有自己的HTTP服务器,用于简化UI开发。我还读过QtQuick(YouTube demo),但我从未尝试过自己
我有以下几点要指出