One suggestion that led to to a few extra entries that probably don't,
strictly speaking, belong was Hypergraph. Hypergraph is an impressive
open source project that has produced a J2SE component for visualizing
hyperbolic trees. There are several commercial projects in this
space:
Inxight,
Thinkmap,
and
TheBrain.com.
All of these products provide applet viewers for hyperbolic trees and
all of them have eye-popping demos on their respective web sites (go
ahead and look, you will not be disappointed). Both Inxight and
Thinkmap provide SDKs, however based on my cursory look at their sites,
the SDKs are for server side work or they're custom JDK1.1 viewers
based on AWT. In fact I didn't list TheBrain.com at all, despite the
inspiring name, since there didn't appear to be a Java SDK there at
all. Still it didn't seem right not mention them since they're
great examples of what desktop Java is capable of and they could
probably become part of a modern Swing application. Plus, the
Hypergraph site provided pointers to all of them and I just couldn't
stop myself.
There are more than 50 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.
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
applet demo
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:
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
layout managers.
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
JAutoCombo
and
JTreeCombo
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
zBlueStudio.
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.
Components! is a robust collection of sophisticated components for
JFC/Swing, including general purpose calendar and calculator components.
An open source project with many things to offer, including a nice
suite of custom Swing components. UICompiler makes it possible to
take designs created with TrollTech's Qt Designer and compile them
into Swing applications with a custom look and feel.
Try the
to see the end product in action.
Einnovations EII Commons
EII Commons - an open source library of commonly useful components.
Among them are: a sortable JTable/model, a wizard framework, a
a set of masked edit controls, a print preview widget that works with
any Pageable, various tree, table, and list utilities, and more.
Zeus Components Library
Zeus is an open source Java Swing component library. It provides
useful swing components for easier GUI development: JSplash and
JConsole.
Kiwi
The Kiwi Toolkit is a foundation class library containing many useful
classes that complement the Java Foundation Classes (JFC). The
toolkit includes many classes and components that were not provided
with the JFC, such as a TreeTable component, a command line parser, a
DateChooser dialog, and many others.
Database
Simprit Swing
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
AppLook - DBDataControl
The DBDataControl provides a fast and efficient way to retrieve and
edit data from any relational database.
SwingSet
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.
MVC Mediator
An app framework for Swing with support for data binding, validation,
and so on.
JForm
JForm is a framework for building form-based user interfaces with
Swing. It provides a library of custom Swing components that supports
automatic databinding and validation.
Graphs and Charts
JUNG
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
here.
Northwoods Software - JGo
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.
Dirk's J Toolkit (DJT) - Gantt Chart Class Library
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).
Hypergraph
HyperGraph is an open source project which provides java code to work
with hyperbolic geometry and especially with hyperbolic trees. It
provides a very extensible api to visualize hyperbolic geometry, to
handle graphs and to layout hyperbolic trees.
Inxight
Inxight's application and component SDK products are focused on
"information discovery" and visualization. Among them are
StarTree
for visualizing large collections of objects and
TableLens
for visualizing large tables. The SDKs are for the 1.1 JRE however
they're extremely capable. Check out the demos and see for yourself.
Thinkmap SDK
The Thinkmap SDK enables organizations to incorporate data-driven
visualization technology into their enterprise Web
applications. Thinkmap applications allow users to make sense of
complex information in ways that traditional interfaces are incapable
of. Thinkmap's display is a JDK1.1 applet, see
The Visual Thesaurus
for a great example.
Special Purpose
JSky - Java Components for Astronomy
JSky is being developed as part of the Gemini Observing Tool, which
astronomers will use to plan their observations at the
Gemini Telescope
in Chile. Don't miss this
press release
about a recent Gemini telescope
observation: "Like Nothing Seen Before - New Object Defies
Classification".
FreeHEP (High Energy Physics) Java Library
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.
INT - J/GeoToolkit
J/GeoToolkit delivers high performance graphics capabilities for Oil and Gas E&P applications.
ESRI - MapObjects Java Edition
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.
SERVA - TWaver
TWaver is a complete suite of Java graphic components for
telecommunication operations support system (OSSs).
LAB Asprise! - Java Image Acquisition UI Components
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.
WebCab JavaBeans
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.
Gandalf Wizard Framework
The open source Gandalf wizard framework consists of a set of classes
and interfaces that give developers an infrastructure to build
wizards. Two types of wizards are currently supported: web-based
wizards and Swing-based.
JBalloonTooltip
JBalloonToolTip is the first true java implementation of balloon-like
tooltips. It allows you to use the whole power of old-fashioned java
tooltips (font, color, size, html formating, etc.) and modern
ballon-like layout.
GeoSoft G
G is a generic graphics library built on top of Java 2D in order to
make scene graph oriented 2D graphics available to client applications
in a high level, easy to use way.
StarLink
Starlink is a set of Java data reduction and analysis tools
and Java data access classes. The new Java tools and classes are
needed to produce applications in the Virtual Observatory (VO) era,
and to complement the AstroGrid and other VO capabilities. Among the
many examples of this software in action is
SPLAT,
a spectral analysis tool.
Calendars
Java Calendar Component
A configurable date chooser panel.
OnlyJava - JCalendarCombo
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.
NachoCalendar
A set of data chooser components and panels (free!). You can give
them a try with the
web started demo.
LavanTech - Date and Time Selector Component
A configurable date and time chooser; panels and combo box style controls.
More
Pendulum
Pendulum is a Swing MVC and application framework built upon OpenSymphony's XWork and PicoContainer. It's primary
purpose is to simplify and separate Swing.
PDF Box
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.
Crionics - jPDF-Creator
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
applications.
JetBee Java Print Library
Support for background printing and spooling of AWT and Swing components.
JChain SA
JChain SA is a toolkit for copy protection and license management of
Java applications.
Foxtrot
Foxtrot is an easy and powerful API to use threads with the JavaTM
Foundation Classes (JFC/Swing). The Foxtrot API are based on a new
concept, the Synchronous Model, that allow you to easily integrate in
your Swing code time-consuming operations without incurring in
"GUI-freeze" problem, typical of Swing applications.