Lightweight rapid application development

What is Radical?

Radical is an open source RAD tool for building graphical user interfaces in Java (screenshot are available in the usage.html page). The main focus of Radical is to be reasonably lightweight and to be easily embedded as a plugin for other projects.

Why did I create Radical?

There are numerous commercial and open source IDEs that provide GUI builder tools, such as JBuilder and NetBeans , so why am I creating Radical? The main reason is that most IDEs tend to be sophisticated, but also very slow and resource hungry. My development environment consists of jEdit and Ant , which is fine for most purposes. Occasionally, though, I have felt the desire to use an IDE to get the time-saving benefits of a GUI builder, but every time I try to use an IDE for development, I get discouraged and switch back to jEdit because it has everything I need (minus the GUI builder). Then one day I read an article about a layout manager, called TableLayout, and it piqued my interest in creating a GUI builder/RAD tool; the result of that interest is Radical.

What is the scope of Radical?

Currently, the whole point behind Radical is to stay simple, lightweight, and focused. As such, Radical will not have all of the features you might find in other RAD tools; you will not find bi-directional editing of source code and GUI representation, nor will you find graphical event wiring. Radical is merely intended to simplify GUI design, it is not trying to be an application builder (at this point in time). Despite this limited focus, it is possible to create reasonably sophisticated GUI layouts with Radical and Radical does have some features that are not available in other RAD tools.

Originally, Radical was meant to work specifically with the TableLayout layout manager, which was written by Daniel Barbalace, but now Radical is reasonably generic with respect to layout managers. Despite this fact, the support for TableLayout in Radical is very complete and I recommend using TableLayout as your default layout manager. TableLayout can mimic the functionality of most other layout managers, including GridBagLayout, and the generated source code is straightforward; make sure to read the TableLayout article before trying to use Radical.

The scope of Radical continues to change, which means that no feature is definitively "in" or "out" out of scope. As progress on implementing Radical continues, new ideas and directions will continue to emerge. For a list of some planned features for Radical, refer here .

How do you use Radical?

To use Radical for your development needs, you must follow a simple development model. Particularly, you should use the class that Radical generates (typically a JPanel) as a base class that you sub-class to provide application-level functionality. Since Radical has no facilities for bi-directional interpretation of source code modifications, this simple approach avoids losing application changes if you were to modify the generated class directly.

What is the status of Radical?

Currently, Radical is in a pre-release state, but it is stable and fully usable (see usage.html for screenshots); not every feature is implemented or working as well as it should for a full release. The current version of Radical works as a stand-alone application and also as a jEdit plugin.

Radical License

Radical is licensed under the Apache Software License. The Radical plugin for jEdit is licensed under GPL.

Other Documentation

  • install.html - Instructions for installing Radical. 
  • usage.html - Instructions for using Radical.
  • todo.html - A list of issues, bugs, and features for future Radical releases.
  • design.html - A simple document discussing some of Radical's design issues.
  • build.html - Instructions for building Radical.
  • changes.html - Changes made to Radical.

Download Radical

The latest release package is available here.

Mailing lists

Join the Radical mailing lists to participate or stay informed.


Any questions? Contact Richard S. Hall.

SourceForge Logo