以 XML 描述的 Java GUI

标签 java xml user-interface

我公司目前正在评估 Java FAT 客户端的开发。它应该支持动态 GUI,并在服务器端拥有尽可能多的逻辑。因此,出现了将屏幕作为 XML 发送到 FAT 客户端的想法,将其显示给用户并将类似于“html 表单”的输入数据以如下结构发送回:

<fields>
  <field type="checkbox" name="active" checked="false" x="10" y="10" />
  <field type="textbox" name="username" value="dummy" x="10" y="30" />
  <field type="selection" name="group" selectedIndex="1" x="10" y="50">
     <data index="0">user</data>
     <data index="1">admin</data>
  </field>
  <field type="button" name="ok" x="10" y="70" />
  <field type="button" name="cancel" x="10" y="90" />
</field>

背景
赞助商正在寻找一种数据输入和审查应用程序,他们可以通过简单地更改配置来适应他们的需求。因此,我们必须为他们的管理员提供一种可能性来设计所谓的“屏幕”(又名表单),并提供一个客户端/服务器系统,使他们能够将这些分发给他们的最终用户。传入数据(即用户输入的数据)随后将转发到处理业务逻辑的现有工作流引擎。

问题
有人在那里开发了类似的东西吗?你会推荐哪些图书馆?有什么利弊吗?非常感谢!

更新
非常感谢您的输入,Thinlet看起来很有前途以及JavaFX - 我会调查两者。

最佳答案

当我上次寻找这样的东西时,有两个选项是 ThinletApache Jelly .

优点是您可以将应用程序的布线和构造与行为分开。我不确定他们中的任何一个是否能做到这一点,但我猜可能有一些功能可以转换成另一个工具包,就像Lazlo一样。可以翻译成 AJAX 和 Flash。

在我找到这些工具之前,我已经基于 JHTMLEditor 编写了一个类似的工具包(当时 Echo 是最前沿的,而 Java 1.3 是最前沿的)。它工作正常,但监听器与渲染器在同一虚拟机中运行。

这提出了@Draemon 提出的观点,在客户端/服务器上下文中,我不得不问这是否是解决更大问题的有效方法。我猜您想将大量 CPU 周期卸载到客户端?也许如果你再补充一点,我们可以提出更多建议?这确实指向一种方法,您的应用程序作为 localhost 网络服务器部署在桌面上,并且您将页面提供给本地浏览器。

如果你可以等,我会等JavaFX ,因为这将使构建小程序更具声明性,并且还将减少渲染库的初始下载。

关于以 XML 描述的 Java GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/321034/

相关文章:

java - 老虎机动画(最好用 Java/SVG 编写)

java - 无法创建请求的服务 [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 无法加载类 [org.postgresql.Driver]

javascript - 如何在 XML 中搜索特定属性以检索另一个属性?

java - HTML 表格到 java 对象

java - 尽管使用了 validate(),GUI 仍不更新

java - 如何删除没有 SQL 的所有行

java - 从多个 XML 文件/字符串进行 Saxon/Javax 转换

user-interface - 在 TreeView 行上捕获右键单击事件 [haskell gtk2hs]

Java - 如何使JFrame的内容出现在同一个窗口而不是多个窗口中

Java读取解密文件-文件未找到异常