The XML GUI Engine

Switching from SwiXml
Project on Sourceforge


SwixNG eases up Java development by letting you define the GUI of your application in plain XML. For example, take the following code to create a simple frame:

JFrame frame = new JFrame("My Application");

JPanel panel = new Panel();
panel.setLayout(new BorderLayout());
panel.add(new Button("Click Me!"), BorderLayout.SOUTH);


This XML code will get you the very same result:

<frame title="My Application" defaultCloseOperation="JFrame.EXIT_ON_CLOSE">
	<panel layout="BorderLayout">
		<button constraints="BorderLayout.SOUTH" text="Click Me!" />

See the Examples Page for an in-depth view on the capabilities of SwixNG. This project is based on the source code of SwiXml 1.2 build 140, and thus in big parts compatible to this system. A guideline on converting a SwiXml project to SwixNG can be found in the Section Switching from SwiXml.

Project Goals

The goal of SwixNG to provide Java developers with an easy way to define their GUI. We want to minimize the restrictions a developer typically has with engines of this type, like limited support for Localization, Widget sets and 3rd party components.


Following features are working with the currently available version of SwixNG:

  • Swing widget set support (AWT and SWT support is planned)
  • On-the-fly localization of GUI and model classes
  • Support for TableLayout
  • Prepared to support 3rd party Widgets and Layouts
  • Parametrized Actions and delegates
  • XInclude and Plug-in able XML descriptors


SwixNG is released under Apache Software License 2.0, to be found here. Logo
SwixNG (c) 2004 Michael Klaus
All trademarks are property of their respective owners.