Another 40 Swing Component Libraries
Stephen King once wrote, in the introduction to one of his scary
books, that his critics were correct: he could publish an ordinary
grocery shopping list and it would sell. Just to prove the point he
included his own shopping list verbatim, and I bought the book
(conceit complete). In today's blog I wanted to publish my own
shopping list of sorts. This is a list of some of the many J2SE/Swing
component vendors, all of whom haven't yet been included in the
fledgling href="http://www.javadesktop.org/rollups/components/index.html"> Swing
column on javadesktop.org. They will find a permanent home
there in the future however until they do, I thought I'd share this
unvarnished view of the backlog.
If you're building a Swing application, I think
you'll find it worth your while to scan this list as well as the nicely
formatted Swing Component Depot material.
in many cases I've lifted or crudely paraphrased vendor product
descriptions in the list below, rather than craft my own pithy
summary. It's not because I'm incapable of doing a good job of that,
it's because I'm lazy and life is short. It's also worth pointing out
that I'm not trying promote the relative merits of these packages,
just their existence.
There are about 40 entries in the list below and that's more than the
most devoted fan of Swing component libraries is going to want to sift
through. I've attempted to break the entries into categories to ease
the burden a bit: General Purpose, Database, Graphs and Charts,
Special Purpose (for physics, astronomy, oil exploration, etc,
components look here first), Calendars, and "More". Naturally not
every library fits nicely into one of these categories, for example
nearly every general purpose library contains calendar or database
parts. The "More" category contains libraries that didn't fit into a
category. There are two (obvious) additional categories that are
missing because they're big enough to deserve their own roll-up:
layout managers and look and feels. Those categories will have to
wait until a future blog; I've got blisters on my fingers.
A Java Swing library for creating configurable menus, toolbars and
popups. Applications built with Configure can be reconfigured by
end-users through direct manipulation of the GUI itself.
JAPISoft provides everything from
an XML Editor and XSLT Debugger, to most of the components you'd need
to build a software engineering tool, like an IDE. Among the Swing
parts you'll find on the site are
a Swing component/framework for editing XML/XHTML documents,
a Swing framework for MDI applications that is compatible with standard layout
a generalization of JFileChooser.
Most of the software is vailable for free evaluation and the sites,
are packed with screenshots.
JSuite is a broad suite of Swing and AWT components, including charts
(notably Gantt charts), tables and grids, calenders and schedules.
Jeppers is a full featured web-based spreadsheet editor (free!)
written in Java. It also provides an LGPL grid component that can be
used in Swing applications. Check out this
that launches the spreadsheet in its own window.
ICESoft has been building pure Java web rendering software for quite a
long time. They now have three big products:
ICEbrowser SDK offers a compliant and configurable Web browser engine
proprietary plug-in interface to integrate third-party and custom
content handlers (such as JMF, XSL/XSLT, SVG, and PDF).
ICEreader SDK enables developers to render static HTML/XML content in
applications where secure or dynamic Web capabilities are not
ICEpdf SDK can be used as a standalone PDF document viewer
application, an embeddable PDF viewer component, or combined with
ICEbrowser SDK for a complete web-content rendering solution.
Loads of very high level parts here, beginning with the WebWindow
browser component. WebWindow is a small pure Java HTML viewer that's
intended to take up the slack from Swing's JEditorPane. JModeler is a
generic diagram editor for building modeling applications and the
Javaio Component Suite includes components like JOutlookBar (this sort
of thing is sometimes called an "accordion" control), JHelpView for
JavaHelp, and JSlidePanel for animating panels in and out of view.
A big collection of Swing components (free!)
including a font chooser, a directory chooser, and many other useful
parts and dialogs. Try them out with this
web started demo.
A large suite of Swing components, from borders and buttons to date
and color choosers. There's a nice looking general purpose image
viewer in the mix and some high octane combobox variations as well.
A general purprose collection of components. Some examples: JDataGrid
(spreadsheet style table) JCalendar (date picker), JFontChooser,
JLinkButton (button that can launch a URL), and a suite of custom
This component library from JGraph.com includes two Swing components:
JAutoCombo and JTreeComboBox. JAutoCombo is a combo box with
auto-completion, JTreeComboBox is a combo box where the user selects a
node from a tree rather than an item from a list (good for large
hierarchical sets of alternatives). Check out the web started demos for
components on the JGraph site.
SyGem Software's collection of Swing Components are designed to
provide Java Application programmers with a complete range of GUI
widgets to complement and enhance any existing Swing interface.
UltraSwing provides easy-to-use components that allow you to create
polished, modern GUI applications. With this library, you can easily
add advanced features, such as docking/floating, Outlook type side
menu, to your GUI projects.
A small (only 64K) library of Swing components, including a nice
selection of color choosers.
Presently zBlueSoftware provides two components:
ZCalendar - a data chooser for all locales, and
zFontChooser - font chooser dialog or toolbar element.
This company also makes a Java IDE called
Blazze provides you with a set of prepared and common used elements of
a user interface. These elements are joined together by intuitive
presentation logic. As a result we have got universal, generally used
GUI framework which can be used for most of business applications like
CRM, ERP and others. Free! Check out the
web started demo.
An open source docking framework; now with alpha composited drag previewing!
Simprit Swing is an addon package for Java Swing. Simprit Swing
includes useful data entry components to improve your users' data
input experience, and some new components such as tool bar pane,
calendar and date picker to impress your users
The DBDataControl provides a fast and efficient way to retrieve and
edit data from any relational database.
SwingSet is an open source toolkit for making Swing
database-aware. SwingSet utilizes SSTextDocument, an extension of the
standard PlainDocument class to link the JTextField or JTextArea to a
database column within a RowSet. In addition, custom classes are
provided to replace the standard JComboBox and JCheckBox.
An app framework for Swing with support for data binding, validation,
and so on.
Graphs and Charts
JUNG, the Java Universal Network/Graph Framework, is a software library
that provides a common and extendible language for the modeling,
analysis, and visualization of data that can be represented as a graph
or network. Check out the JUNG applet demos
JGo is a graphics library that makes it easy to build custom
interactive diagrams, network or workflow editors, connected graphs,
scheduling or organizational charts, smart maps, flowcharts, and
software design tools. It has built-in support for many shapes, text,
images, containers, connectors, orthogonal links, arrowheads,
scrolling, zooming, selection, drag-and-drop, resizing, in-place text
editing, tooltips, layers, and multi-page printing. It is powerful and
efficient, yet small and easy to learn and use. It includes built-in
support for Swing's Undo framework.
DJT is used for developing sophisticated Gantt chart solutions for a
big variety of applications that range from operation-based scheduling
applications to enterprise resource planning applications (ERP).
JSky is being developed as part of the Gemini Observing Tool, which
astronomers will use to plan their observations at the
in Chile. Don't miss this
about a recent Gemini telescope
observation: "Like Nothing Seen Before - New Object Defies
The goal of the open source FreeHEP library is to encourage the
sharing and reuse of Java code in High Energy Physics. Although some
of the code is fairly specific to HEP, other code is more generic and
could be used by anyone. To maximize reuse we strive to keep the
dependencies between various packages in the FreeHEP library to a
minimum, so you can use which ever parts interest you without being
forced to use the entire library.
J/GeoToolkit delivers high performance graphics capabilities for Oil and Gas E&P applications.
A rich collection of client and server components for Java
developers. MapObjects-Java Edition can be used to build custom
applications that incorporate GIS and mapping capabilities or to
extend the capabilities of existing applications.
TWaver is a complete suite of Java graphic components for
telecommunication operations support system (OSSs).
Presently there are two components in this free library:
JImageDialog - an image acquisition UI component that allows the
user to load images and to perform basic image editing tasks.
JFileChooser - An extended JFileChooser that supports image
preview and image information extraction.
LAB Asprise! also makes the JTwain (for Win32) and JSANE
(Mac/Linux/Solaris/etc) J2SE libraries for dealing
with image acquistion from scanners and digital cameras.
Financial and mathematical J2SE
Components. Use our JavaBeans compliant Java Class Libraries within
any Java solution: JDBC enabled, detailed PDF technical documentation,
JavaDocs, bundled GUI JavaBeans and client examples.
A configurable date chooser panel.
A customizable combo box style date chooser. This site offers some
other generally useful components: JCalendarCombo, JCascadedPane,
JDirectoryDialog, and a file splitting utility with its own GUI.
A set of data chooser components and panels (free!). You can give
them a try with the
web started demo.
A configurable date and time chooser; panels and combo box style controls.
Pendulum is a Swing MVC and application framework built upon
href="http://www.opensymphony.com">OpenSymphony's XWork and
href="http://www.picocontainer.org">PicoContainer. It's primary
purpose is to simplify and separate Swing.
PDFBox is a Java PDF Library. This project will allow access to all of
the components in a PDF document. More PDF manipulation features will
be added as the project matures. This ships with a utility to take a
PDF document and output a text file.
JPDF-Creator is a fast, reliable, Java2D based component designed to
dynamically generate new PDF documents. Using jPDF Creator, businesses
can easily add PDF generation functionality to their java client
Support for background printing and spooling of AWT and Swing components.
JChain SA is a toolkit for copy protection and license management of