Home arrow XML arrow Page 4 - UI Design with Java and XML Toolkits

UI Design with Java and XML Toolkits

XML has revolutionized application UI design in recent years. With a cunning blend of XML and script languages such as JavaScript, rich, aesthetically pleasing applications can be quickly constructed with ease. We've looked at Widgets and XUL as two examples of this in the past and now, I'm going to take a look at some of the innovative Java UI toolkits that implement XML as an integral mechanism for application II design. Please note, this is the first part of a two-part article.

Author Info:
By: Dan Wellman
Rating: 4 stars4 stars4 stars4 stars4 stars / 10
September 13, 2006
  1. · UI Design with Java and XML Toolkits
  2. · Luxor
  3. · JXUL and SwiXml
  4. · JAXX and Thinlet

print this article

UI Design with Java and XML Toolkits - JAXX and Thinlet
(Page 4 of 4 )

JAXX (it doesn't actually stand for anything but you can guess at a glance that Java and XML are involved) is probably the best toolkit in terms of documentation; there is an excellent, well produced, well maintained and most importantly, recently updated web site at http://www.jaxxframework.org/ which gives you everything you need to know to begin creating UIs with JAXX. There is a thorough installation guide and some excellent tutorials to get you started and a live forum for if you get stuck and need some assistance. 

One of the things that makes JAXX so useful is its powerful CSS support which enables the skinning of applications via simple style sheets.  It is very easy to get started with JAXX; I was able to run through the tutorials and get results on screen very quickly.  My experiment GUIs didn't actually do anything as there was no underlying Java to make things work, but it was good just to get something to actually launch. It's easy to look through the example applications provided to see what is going on and how to use the different tags effectively. Out of all of the toolkits I looked at, this was without doubt the easiest to begin using.

Thinlet is another well know Java and XML UI toolkit that differentiates from some of the previous examples by avoiding swing altogether and using the abstract window toolkit (AWT) instead. AWT is an older set of UI designing widgets that swing was developed to replace.  One of the key differences between AWT and swing is the nature of how each toolkit renders the various GUI elements, with swing providing more consistency across any platform as opposed to AWT relying more on the underlying OS implementation. 

What Thinlet does is provide an extremely small toolkit that excels at creating relatively simple interfaces, when the complexity of some swing components can be avoided. The documentation for Thinlet is quite good, providing a local copy of what can be found on the Thinlet website (www.thinlet.com), including details of the widgets themselves and the API. There are some examples included in the documentation (including an excellent Amazon browser) that you can fire up and look at to get an idea of how things work. 

Thinlet is free and open source for anyone from enthusiasts to commercial enterprises and was released under the GNU Lesser Public License.  There are some extensive Thinlet tutorials out there, but the documentation included requires a working knowledge of Java and presumes familiarity with class compilation, CLASSPATH variables and more so this is probably not best suited to newcomers to Java application programming. People that already have a working knowledge of Java may be attracted to Thinlet's simplicity.

These are just some of the available resources out there for building XML based GUIs for your Java applications, providing an easily maintainable application with a completely separate presentation layer.  You can save valuable development time this way, and there are a variety of toolkits you can use depending on what suits you and your experience level.

DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

blog comments powered by Disqus

- Open XML Finally Supported by MS Office
- XML Features Added to Two Systems
- Using Regions with XSL Formatting Objects
- Using XSL Formatting Objects
- More Schematron Features
- Schematron Patterns and Validation
- Using Schematron
- Datatypes and More in RELAX NG
- Providing Options in RELAX NG
- An Introduction to RELAX NG
- Path, Predicates, and XQuery
- Using Predicates with XQuery
- Navigating Input Documents Using Paths
- XML Basics
- Introduction to XPath

Watch our Tech Videos 
Dev Articles Forums 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us 
Weekly Newsletter
Developer Updates  
Free Website Content 
Contact Us 
Site Map 
Privacy Policy 

Developer Shed Affiliates


© 2003-2019 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap
Popular Web Development Topics
All Web Development Tutorials