1

I'm interested in using XUL as a standard way of defining my Java app (both Swing and web alike) UIs. To do this, I need two major components:

  • An open source GUI builder that allows me to drag n'drop UI elements, like Abeille forms or Matisse, etc., and export these UIs into a standards-compliant XUL file
  • A Java lib for reading that exported XUL file and building UI components out of it

I would have thought this would be easy to find, however there are a number of problems:

  • For one, I can't seem to find an "official" XSD Schema for XUL (even off of Mozilla's site), so it doesn't seem to be universally enforced/validated from a central schema, and as such, seems to have lots of conflicting variations across various XUL tools/products
    • Hence, gettting one tool that can export a XUL file, and a Java lib to read that XUL file without errors, seems to be difficult/impossible
  • All the XUL-based GUI builders I've found seem to be proprietary and expensive
  • The only Java libs that can read XUL files seem to be billed as "XUL toolkits" and include a web server, templating engine, etc. In other words, they are overkill for what I need, which is something that can read a XUL file and produce a container object full of UI widgets.

Anyone have any idea as to how I could marry these two ideas together and accomplish what I need? Thanks in advance!

IAmYourFaja
  • 55,468
  • 181
  • 466
  • 756

3 Answers3

1

I once explored that avenue with many toolkits. From my experience, it is not worth it, but why not give it another try?...

I needed the following :

  • CSS Integration, if possible, to skin the UI
  • Scripting using Rhino and/or other JVM scripting languages
  • XML markup support and basic Swing integration (Not really important)

I ended up customizing an existing library. I can't recall the exact name, but I think it was a fork of swingml to support inline scripting better. I improved the Rhino support and also hooked some Jython integration.

There were many other options, but nothing that was really astonishing.

I also tried to use Apache Commons Jelly (main library behind early Apache Maven versions). Commons Jelly has/had a Jelly Swing module.

At the end, I realized that it wasn't both convenient and time saving, in addition to overhead (Java reflection and dynamic method dispatching, proxies and interaction with JVM scripting languages -> scoping among other things, etc.).

rimero
  • 2,383
  • 1
  • 14
  • 8
1

I have developed some years ago and I am currently refreshing a Java sourceforge project based on XUL, and integrating scripting languages called javaXUL: https://sourceforge.net/projects/javaxul/

Hervé Girod
  • 465
  • 3
  • 12
0

Check http://www.zkoss.org/product/zk I have used zk in past it's a nice tool based on XUL. It has community edition as well as License version. Please check if this will help. thanks

GKP
  • 1,057
  • 1
  • 11
  • 24