Package com.ccg.swing

Swing Components/Utilities.

See:
          Description

Interface Summary
DirtySaver Not ready for prime time - please ignore for now.
EditorModel Implemented by objects which are capable of creating GUI editors for themselves.
LogModel A "model" implementation for logging levels and debug verbosity.
OkCancelModel Defines the callback methods for objects which want to monitor "OK/Cancel" events.
 

Class Summary
AbstractLogModel A base implementation of the LogModel interface.
ActionCallback Object used to invoke a particular method of a object.
BorderUtils Helper methods for applying resource bundle related borders.
ChooseCallback  
ClassComboBoxModel A ComboBoxModel implementation where each of the available items is a ObjectFactory item.
ColorButton A swing button used to allow the user to pick a color - the button displays the color if user clicks button they can change it.
ColorChoices A object which generates ColorButton objects.
ColorUtils Helpful utilities for working with colors.
Corner Class which encapsulates many of the necessary parts of determining coordinates when one wants to draw an object snug in a corner.
DateFieldFormat  
DefaultLogModel A LogModel implementation not associated with the current run-time.
DirChooser Class used to create a Swing component which allows the user to choose a directory.
DirtyChecker An attempt to provide a API for the purpose of letting the user know that not everything has been saved before allowing the user to exit.
DoubleFieldFormat  
FilenameFilter Builds a "file filter" which matches file names and is suitable for use with the Swing JFileChooser.
Grouping Easily manipulate a "grouping" of JComponent objects.
Groupings Allows one to work with various groupings of components.
HistoryComboBoxModel Not ready for prime time - please ignore for now.
HTMLTransferPanel  
IntegerFieldFormat  
LayoutUtils General methods that help with the laying out of components.
LogEditor Provides a graphical user interface component to a LogModel.
LoginDialog  
LoginPanel A simple Login panel for Swing.
LookupINIComboBoxModel A swing style "model wrapper" around the LookupINI class.
LookupINISectionEditor A graphical interface to allow a user to interact with a LookupINI object.
MenuItemClass A menu item that is associated with a particular class.
OkCancelDialog Not ready for prime time - please ignore for now.
OkCancelHandler Default implementation of the OkCancelModel interface.
ProgressMonitorUpdate Class to help safely update ProgressMonitor objects.
Resources A standard way to associate resource bundles with classes.
RFrame A resource based JFrame.
RMenuBar Not ready for prime time - please ignore for now.
RStockDialogs Not ready for prime time - please ignore for now.
SelectCallback  
SizeFixer Keeps a graphical component from becoming too small or too large.
SystemLogModel A implementation of the LogModel which controls the JVM's log and debug output messages.
TableCellFormatEditor Not ready for prime time - please ignore for now.
TailTransferable  
TailViewer Swing tool capable of browsing the contents of large ASCII text files.
TextFieldFormat Class to create text input fields that have a corresponding parser.
TextUtils General utility methods for working with text components.
UpdateSafely Class to make the updating of Swing components safe.
 

Package com.ccg.swing Description

Swing Components/Utilities.

Normally, they don't let me out to play with GUI stuff (I'm more of a low-level library and networking type of programmer). However, that's changed a bit recently, and I've been able to start playing with Swing. This package attempts to serve as a collection of some useful Swing components and utility functions.

Most of the code/objects found here are designed to work in conjunction with resource bundles. This allows one to separate static text information from the GUI code, and provides the side benefit of making localization possible (you can create a "Spanish" version of your GUI without touching the code - study up on the use of resource bundles if you are not familiar with this concept).

The following functions can be found in this package:

Localized Components
There are (will be) several component objects which are available in this package. The OkCancelDialog - a object which helps building generic dialog boxes where the user needs to press OK or Cancel.
Miscellaneous Utilities
There are several classes in the package which provide static utility methods. The TextUtils class provides useful methods for working with text components. The BorderUtils can add some border decorations to your components based upon the contents of a resource bundle. The LayoutUtils provide some useful layout functionality (such as associating string labels with components and lining them up nicely for you).
Save On Quit
The DirtyChecker class can be used to keep track of classes which implement the DirtySaver interface. This combination helps keep track of objects that become dirty (modified by the user), and may need to be saved in order to prevent the loss of information. When used it combination with the RFrame class, this can automatically prompt the user with a Yes/No/Cancel question about saving the current state of the dirty objects before quitting. I need to make up an example for this as it works pretty well.
Component Groups
The Grouping and Groupings classes provide a mechanism for one to work with group of components. This allows one to easily disable/enable entire sets of components and makes the creation of dynamic GUI's much simpler.
Thread Safe Updates
Normally, Swing components can not be updated or manipulated by any running thread in the system. These components typically require that the swing event dispatching thread be used when one wants to update a components property. This makes it difficult for background threads to update the state of component when they want to report status information to the user. The UpdateSafely class provides a convenient mechanism for one to safely update various properties for Swing component(s) regardless of what thread does the update.
Log/Debug Verbosity Controls
The tools necessary to allow the user to actively control a programs log/debug output have been provided. To see a working example of using the LogModel, DefaultLogModel, SystemLogModel and LogEditor objects in combination, take a look at LogTest.java.

License/Use Information

The license text below the dashed line pertains to the "com/ccg" and
"com/include" libraries, documentation, executable binaries, and the
source code as distributed in this package by Paul Blankenbaker
(paul@mekwin.com).

------------------------------------------------------------------------------
This software is copyrighted by Paul Blankenbaker, Global
Atmospherics, Inc. and Unified Technologies, Inc., and other parties.
The following terms apply to all files associated with the software
unless explicitly disclaimed in individual files.

The authors hereby grant permission to use, copy, modify, distribute,
and license this software and its documentation for any purpose, provided
that existing copyright notices are retained in all copies and that this
notice is included verbatim in any distributions. No written agreement,
license, or royalty fee is required for any of the authorized uses.
Modifications to this software may be copyrighted by their authors
and need not follow the licensing terms described here, provided that
the new terms are clearly indicated on the first page of each file where
they apply.

IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY
FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY
DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.  THIS SOFTWARE
IS PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE
NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR
MODIFICATIONS.

RESTRICTED RIGHTS: Use, duplication or disclosure by the government
is subject to the restrictions as set forth in subparagraph (c) (1) (ii)
of the Rights in Technical Data and Computer Software Clause as DFARS
252.227-7013 and FAR 52.227-19.



Copyright 1998-1998-2006 null. All Rights Reserved.