:: Products :: Quick Start ::
How to effectively use the Swing Suite
Find below a recommended path how to benefit from the Swing Suite.
1) Integrate the JGoodies L&Fs (< 1 day)
Although, this is easy to do, it is a very effective step.
It can be done with about 5 lines of code; just choose
your preferred JGoodies look&feel, and set it in the UIManager.
Please refer to the Readme file of the Looks package, then
start the JGoodies Looks Demo, and check the integrated help.
As a result of this step your application will look better.
2) Understand the Skeleton Pro Architecture (1 day)
Skeleton Pro is based on an architecture that is used
in the larger jGoodies tools. It separates concerns
and hence scales well up to medium sized applications.
Please refer to the Skeleton Pro Readme file for details.
As a result of this step, you have learned about
different roles for building and managing a Swing app.
3) Use the UI framework's Startup Sequence (1-2 days)
The startup sequence as provided by the UI framework
and used by Skeleton Pro, will improve the perceived
responsiveness of your app until it is up and running.
Make a copy of class com.jgoodies.skeleton.SkeletonPro
and use it as your new application main class.
Look at and understand its superclass, DefaultApplicationStarter,
and check out the different sections that it handles.
Copy the resource description files Action.properties,
and Resources.properties to your project.
To use this startup sequence, you'll also require:
a splash image, a license file, and an instance
of class Globals, which comprises information about
your application and resource paths.
At the end of this step, your app seems to come up
fast, includes a default welcome screen and license
check; furthermore, it'll log runtime errors to
a file that you specify in the Globals.
4) Use an Appropriate Icon Set (1-4 days)
Icons have a significant effect on the function
and elegance of your applications. The choice of
an appropriate icon set depends on many factors,
among others: your platform support strategy.
If you aim to provide high-fidelity Windows support plus
good support on Linux, Solaris, and Mac, I recommend
to consider using the icon set from
eclipse.org.
This icon set won't alienate Windows users, is relatively
large and portable, and quite easy to extend by developers.
If you require larger icons the icon set by Dean S.
Jones may be your choice. From my perspective, the icons
provided by Sun's HIG group don't work well on Windows
and Mac and do conflict with many popular desktop colors.
5) Use JGoodies Forms for Panel Building (>2 days)
I recommend to use the JGoodies Forms framework for layout and panel building.
It is a powerful and flexible layout system and has been designed
to help beginners achieve good results and experts save time.
To get aquainted with the Forms framework read
forms.pdf
and check out the Skeleton viewer panels; all these panels
use and demonstrate the FormLayout and associated Form builder classes.
As a result your panels are more consistent and the building code is cleaner.
6) Remove Obsolete Decorations :: Use Less Ink (1-5 days)
Remove obsolete and duplicate borders, and separators.
Check every line in your panels, and ask yourself,
whether it adds information or blurs your content.
Very often, you can replace a border or separator
with white space.
The JGoodies Looks contain ClearLook, an add-on
that can help you find visual clutter that often
stems from wrapping multiple decorated components,
for example, a JScrollPane in a JSplitPane.
Switch on the ClearLook debug mode and look
what it has marked with colored decorations.
You may consider these decorations as obsolete.
As a result users can more quickly and easily
comprehend your panels and find relevant information.
7) Add Components From the Framework (2 days)
The UI framework contains several prebuilt components
that solve typical tasks you face when building a
professional Swing app. For example, you can integrate
the tiny help, tip-of-the-day, elegant about dialog,
directory chooser, etc.
Please refer to the Readme file of the UI framework.
Also, I recommend to frequently look at Skeleton Pro,
which uses most of the components, listed above.
For example, if you like to use the tiny help
I would recommend to copy the resource file tree from
Skeleton Pro, then modify it to your needs.
As a result of this step you will have a richer app.
8) Use Abstract Dialog and Frame Classes (>3 days)
The UI framework propagates the use of a standardized
way to build dialogs and frames. This way it implements
meta design and design modules, which ensures consistency
and high quality for all different panels, dialogs, and
even applications built by different developers.
This style makes bad design difficult, and good easy.
Also, it can significantly save time and money if
you produce new dialogs and frames.
As a starting point, see, for example, the Skeleton Pro
class com.jgoodies.skeleton.PreferencesDialog, then
see classes AbstractDialog and AbstractFrame from
package com.jgoodies.swing. Read the class comments
and the comments of all building methods. This is
essential for the successful use of this style.
Furthermore, the AbstractFrame provides generic behavior
for saving its state, for example, its bounds. You may
decide to store and restore other state data.
As a result, you get a consistent way to build dialogs,
and your app benefits from a more consistent appearance.
9) Integrate Skeleton Custom Components (2 days)
Skeleton and Skeleton Pro use the SimpleInternalFrame
class that provides the elegant eclipse-like appearance.
You may choose to replace your default JSplitPanes
and use this alternative, instead. See the Skeleton Pro
MainPanel class for a quick start.
As a result of this step your app will have a fresh look.
10) Integrate Advanced JGoodies Components (>2 days)
You are now ready to make use of other components that
come with the Swing Suite or the promotion sources.
For example, you may choose to replace the default
welcome dialog, or the default about dialog with
customized versions that use your product branding.
You may copy and integrate animations and can decide
to use the LookAndFeel chooser which enables users to
switch the look-and-feel at runtime.
Note: I don't advocate to do so, since this requires
that your application updates all components, even
components that are not part of the component tree,
for example Renderers or components that are dynamically
added and removed.
You're Done
If you have finished these steps you should have
an application that looks and works much better.
Congratulations!
|