使用Java和XUL进行UI开发



我对使用XUL作为定义Java应用程序(Swing和web一样)ui的标准方式很感兴趣。为此,我需要两个主要组件:

  • 一个开源的GUI构建器,允许我拖放UI元素,如Abeille表单或Matisse等,并将这些UI导出到符合标准的XUL文件
  • 一个Java库,用于读取导出的XUL文件并从中构建UI组件

我想认为这很容易找到,但是有很多问题:

  • 首先,我似乎找不到XUL的"官方"XSD模式(即使是在Mozilla的网站上),所以它似乎没有从一个中心模式得到普遍执行/验证,因此,在各种XUL工具/产品之间似乎有许多相互冲突的变化
      因此,获得一个可以导出XUL文件的工具,以及一个Java库来读取该XUL文件而没有错误,似乎是困难的/不可能的。
  • 我发现的所有基于xul的GUI构建器似乎都是专有的且昂贵的
  • 唯一可以读取XUL文件的Java库似乎被称为"XUL工具包",包括web服务器、模板引擎等。换句话说,对于我需要的东西来说,它们是多余的,我需要的是可以读取XUL文件并生成充满UI小部件的容器对象。

有谁知道我怎样才能把这两个想法结合在一起,完成我需要的吗?提前感谢!

我曾经用许多工具包探索过这条道路。从我的经验来看,这是不值得的,但为什么不再试一次呢?

我需要以下内容:

  • CSS的集成,如果可能的话,皮肤的UI
  • 使用Rhino和/或其他JVM脚本语言编写脚本
  • XML标记支持和基本Swing集成(不是很重要)

我最终定制了一个现有的库。我记不起确切的名字了,但我认为它是swingml的一个分支,以便更好地支持内联脚本。我改进了对Rhino的支持,还加入了一些Jython集成。

有很多其他的选择,但没有一个是真正令人惊讶的。

我还尝试使用Apache Commons Jelly(早期Apache Maven版本背后的主要库)。Commons Jelly有一个Jelly Swing模块。

最后,我意识到它既不方便又不节省时间,除了开销(Java反射和动态方法调度,代理和与JVM脚本语言的交互->作用域等)。

我是几年前开发的,目前正在刷新一个基于XUL的Java sourceforge项目,并集成了称为javaXUL的脚本语言:https://sourceforge.net/projects/javaxul/

查看http://www.zkoss.org/product/zk我以前用过zk,它是一个很好的基于XUL的工具。它有社区版和许可版。请检查这是否有帮助。由于

最新更新