:: JGOODIES :: Java User Interface Design
:: Home :: Products :: Services :: Freeware :: Downloads :: About :: Contact ::

:: 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!
(c) 2003 JGoodies