A
Ajax
Aspect-Oriented
 
B
Bloggers
Build Systems
Business Intelligence
ByteCode
 
C
CMS
Cache Solutions
Charting & Reporting
Chat Servers
Code Analyzers
Code Beautifiers
Code Coverage
Collections
Command Line
Connection Pools
Crawlers
 
D
Databases
 
E
EJB Servers
ERP & CRM
ESB
Eclipse Plugins
Expression Languages
 
F
Financial Soft
Forum Soft
 
G
General Purpose
Geospatial
Groupware
 
H
HTML Parsers
 
I
IDEs
Installers
Inversion of Control
Issue Tracking
 
J
J2EE Frameworks
JDBC
JMS
JMX
JSP Tag Libraries
Job Schedulers
 
L
Localization
Logging Tools
 
M
Mail Clients
 
N
Network Clients
Network Servers
NoSQL Databases
 
O
Obfuscators
 
P
PDF Libraries
Parser Generators
Persistence
Portals
Profilers
Project Management
 
R
RSS & RDF Tools
Rule Engines
 
S
SQL Clients
Scripting Languages
Search Engines
Security
Source Control
Swing
 
T
Template Engines
Testing Tools
Text Processing
 
U
UML & Modeling
 
V
Validation
 
W
Web Frameworks
Web Mail
Web Servers
Web Services
Web Testing
Wiki Engines
Workflow Engines
 
X
XML Parsers
XML UI Toolkits
 

Open Source XML UI Toolkits in Java

Luxor

Luxor is a free, open-source XML UI Language (XUL) toolkit in released under the GNU General Public License (GPL) that lets you build UIs using XML and includes an ultra-light weight, multi-threaded web server, a portal engine, a template engine (Velocity), a scripting interpreter (Python) and more.

Go To Luxor

SwiXml

SwiXml, is a small GUI generating engine for Java applications and applets. Graphical User Interfaces are described in XML documents that are parsed at runtime and rendered into javax.swing objects.

Go To SwiXml

XUI

XUI is a Java and XML framework for building rich client, desktop and mobile applications. The framework can save you up to 60% of the code typically needed to build an application. The results is real savings in development time and maintenance costs and greater stability.

Go To XUI

Beryl XML GUI

The Beryl XML GUI library was written to ease the development of graphical user interfaces using Swing on Java. It lets you store user interfaces as XML markup. This will help you avoid unnecessary clutter in your source - Swing code mixed with application logic can become a troublesome and hard to read mess as the application size increases. The library comes with a visual component builder, which makes development a breeze.

Go To Beryl XML GUI

Purnama XUI

The XUI tagset is an XML format that describes graphical user interfaces. On its own this tagset isn't terrifically useful. With an application programming interface however, it becomes a powerful cross-platform and cross-language scripting language allowing the creation of GUIs without actual program code.

Go To Purnama XUI

SwingML

SwingML is an effort to create a markup language to render in a web browser JFC/Swing based graphical user interfaces.

Go To SwingML

UIHierarchy

UIHierarchy is a library that facilitates creation of user interfaces. The main idea is to enforce the mental picture of the containment hierarchy of GUI components by writing the code in the same logical way. Code gets much easier to understand, much shorter, and easy to maintain. Additionaly, UIHierarchy can manipulate resulting components hierarchies in a powerful way. [It is a UI helper library, but no category of this site really match. UIHierarchy has a small XML module though but it is not the main focus.]

Go To UIHierarchy

thinlet

Thinlet is a GUI toolkit, a single Java class, parses the hierarchy and properties of the GUI, handles user interaction, and calls business logic. Separates the graphic presentation (described in an XML file) and the application methods (written as Java code). Its compressed size is 38KB, and it is LGPL licensed. Thinlet runs with Java 1.1 (browsers' default JVM) to 1.4, Personal Java, and Personal (Basis) Profile. Swing isn't required.

Go To thinlet

jXUL

The jXUL project is an open source project to integrate the XUL language into the Java Platform

Go To jXUL

KoalaGML

KoalaGML, the koala GUI Markup Language, allows developers to rapidly generate graphical user interfaces by writing XML documents that define the layout and content of the interfaces. It is both a markup language and a toolset for generating the Java GUI code from the markup. Inspired by Java Server Pages (JSP), koalaGML consists of a rich and growing set of features, including: session beans, custom imports, exception handling, custom error forms, relative layout of elements (with tables ala HTML) and a huge set of widgets.

Go To KoalaGML

WidgetServer

WidgetServer is a Java/XML server-side GUI-framework which enables an application to run as either a monolithic Swing app, a client/server Swing app, or as a Web app without any change. It includes a mixed deployment mode, which supports one server to serve Swing clients and Web clients at the same time. The framework uses XML or a single java API to define an application's GUI independently from target client technology. It provides a common widget-based, object-oriented programming interface for Web and Swing GUIs, which prevents the developer from struggling with HTML and HTTP or with the internals of Swing. The project includes a GUI builder that is based on the framework's functionality.

Go To WidgetServer

Laszlo

Laszlo is an open source platform for the development and delivery of rich Internet applications on the World Wide Web. It is released under the OSI-certified Common Public License. The Laszlo platform consists of the LZX language and the Laszlo Presentation Server. LZX is an XML and JavaScript description language similar in spirit to XUL and XAML. LZX enables a declarative, text-based development process that supports rapid prototyping and software development best practices. The Laszlo Presentation Server (LPS) is a Java servlet that compiles LZX applications into executable binaries for targeted run-time environments. Laszlo currently targets the Flash Player. The LPS compiles LZX applications into SWF bytecode for the Flash Player, serves and caches these compiled applications to any Web browser enabled with Flash 5 or later, and proxies application requests for back-end XML data sources and web services.

Go To Laszlo

gui4j

gui4j is a framework for describing Java Swing GUIs completely in XML. The graphical user interface is created dynamically based on the XML definitions. Each GUI window is associated with exactly one top-level XML file. Each XML file can dynamically include other XML files to support complex GUI definitions. Each XML file is associated with a java object that acts as both a Controller and a Model for the GUI. There is a strong layer separation between the GUI and the Controller: GUI definitions in the XML files can access all Java methods of the Controller, but Java methods cannot access any GUI elements directly. Events are used to trigger changes in the GUI.

Go To gui4j

XAMJ

XAMJ is an XML UI and markup language tightly integraded with Java. It is deployed in a similar manner to JNLP without the need to compile or package the application.

Go To XAMJ

JAXX

JAXX enables you to write simple XML files describing components and their interactions, and then compile those XML files into ordinary Java classes. JAXX features extremely powerful scripting and data binding, CSS stylesheet support, and many other advanced features.

Go To JAXX

wazaabi

WAZAABI is an open source project that delivers significant benefits for building Eclipse RCP based Java and J2EE rich client applications. Wazaabi includes a GUI framework that brings XUL to Eclipse RCP plug-in developpers and a set of components that link the client-side XUL based viewers and forms to server-side business components.

Go To wazaabi

CookSwing

CookSwing is a library which builds Java Swing GUI from XML documents. It supports all Swing components, all Swing LayoutManager (including JGoodies Forms layout), all listeners, all Swing borders (including compound borders), and internationalization and localization. XML include for templated UI layout is supported as well. CookSwing also goes beyond merely Swing since many Swing components require fairly complex configuration parameters. Java binding with components generated by CookSwing is very easy. One of the primary strength CookSwing over other XUL toolkit is being easily extensible. It has a modular design and offers great debugging capabilities. CookSwing is also well documented with its innovative tagdoc, and having lots of examples and demos.

Go To CookSwing






Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. This site is independent of Sun Microsystems, Inc.