com.jgoodies.uif.splash
Class ImageSplash

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by com.jgoodies.uif.splash.ImageSplash
All Implemented Interfaces:
SplashProvider, ImageObserver, MenuContainer, Serializable, Accessible

public final class ImageSplash
extends Window
implements SplashProvider

This implementation of the SplashProvider interface uses an AWT Window to display a splash image and an optional progress bar. It has been optimized for quick startup.

TODO: Add features for an optional drop shadow (platform dependent) and using translucent splash images showing the desktop background.

Version:
$Revision: 1.16 $
Author:
Karsten Lentzsch
See Also:
Splash, SplashProvider, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ImageSplash(Frame owner, Image image, String initialNote, boolean progressVisible)
          Constructs an AWT based splash for the given Frame, Image, initial note and progress visibility.
ImageSplash(Image image)
          Constructs an AWT based splash for the given image using a default Frame.
ImageSplash(Image image, boolean progressVisible)
          Constructs an AWT based splash for the given image using a default Frame that has an optional progress bar.
 
Method Summary
 void closeSplash()
          Closes and disposes the splash window.
 Color getTextColor()
          Returns the note color.
 boolean isNoteEnabled()
          Returns whether this splash honors or ignores note changes.
 boolean isProgressVisible()
          Returns whether this splash shows a progress bar or not.
 void openSplash()
          Opens the splash window.
 void paint(Graphics g)
          Renders the image and optionally a progress bar with a note.
 void setNote(String newNote)
          Sets a new note if and only if isNoteEnabled() returns true.
 void setNoteEnabled(boolean noteEnabled)
          Sets whether this splash shall honor or ignore note changes.
 void setProgress(int percent)
          Sets a new progress value.
 void setProgressBarBounds(int bottomPad)
          Sets the bounds for the progress bar using a pad from the dialog's bottom.
 void setProgressBarBounds(Rectangle r)
          Sets the bounds for the progress bar using the given Rectangle.
 void setProgressVisible(boolean progressVisible)
          Shows or hides the progress bar.
 void setTextColor(Color newTextColor)
          Sets a new note color.
 void update(Graphics g)
          Updates the display area of the window.
 
Methods inherited from class java.awt.Window
addNotify, addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getAccessibleContext, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ImageSplash

public ImageSplash(Image image)
Constructs an AWT based splash for the given image using a default Frame. Progress is invisible and note changes will be ignored.

Parameters:
image - the splash image to display

ImageSplash

public ImageSplash(Image image,
                   boolean progressVisible)
Constructs an AWT based splash for the given image using a default Frame that has an optional progress bar. The initial note is 'Loading…'. Note changes will be ignored by default, see setNoteEnabled(boolean).

Parameters:
image - the splash image to display
progressVisible - true to show progress, false to hide it

ImageSplash

public ImageSplash(Frame owner,
                   Image image,
                   String initialNote,
                   boolean progressVisible)
Constructs an AWT based splash for the given Frame, Image, initial note and progress visibility. Note changes will be ignored by default, see setNoteEnabled(boolean).

Parameters:
owner - this window's parent frame
image - the splash image to display
initialNote - the note that will be displayed first
progressVisible - true to show progress, false to hide it
Method Detail

isNoteEnabled

public boolean isNoteEnabled()
Returns whether this splash honors or ignores note changes. This feature is disabled by default.

Returns:
true if this splash changes the displayed note in setNote(String), false to ignore it

setNoteEnabled

public void setNoteEnabled(boolean noteEnabled)
Sets whether this splash shall honor or ignore note changes. This feature is disabled by default.

Parameters:
noteEnabled - true if this splash changes the displayed note in setNote(String), false to ignore it

isProgressVisible

public boolean isProgressVisible()
Returns whether this splash shows a progress bar or not.

Returns:
true if this splash shows a progress, false if not

setProgressVisible

public void setProgressVisible(boolean progressVisible)
Shows or hides the progress bar.

Parameters:
progressVisible - true to show the progress, false to hide it

getTextColor

public Color getTextColor()
Returns the note color.

Returns:
the note color

setTextColor

public void setTextColor(Color newTextColor)
Sets a new note color.

Parameters:
newTextColor - the new note color

setProgressBarBounds

public void setProgressBarBounds(Rectangle r)
Sets the bounds for the progress bar using the given Rectangle.

Parameters:
r - the Rectangle that describes the progress bar bounds

setProgressBarBounds

public void setProgressBarBounds(int bottomPad)
Sets the bounds for the progress bar using a pad from the dialog's bottom.

Parameters:
bottomPad - the distance in pixel from the splash's bottom

openSplash

public void openSplash()
Opens the splash window.

Specified by:
openSplash in interface SplashProvider

closeSplash

public void closeSplash()
Closes and disposes the splash window.

Specified by:
closeSplash in interface SplashProvider

setProgress

public void setProgress(int percent)
Sets a new progress value.

Specified by:
setProgress in interface SplashProvider
Parameters:
percent - the current progress in percent

setNote

public void setNote(String newNote)
Sets a new note if and only if isNoteEnabled() returns true.

Specified by:
setNote in interface SplashProvider
Parameters:
newNote - the note to set

update

public void update(Graphics g)
Updates the display area of the window. To reduce flickering, paint is called directly. This is possible, because the splash fills its complete area.

Overrides:
update in class Container

paint

public void paint(Graphics g)
Renders the image and optionally a progress bar with a note. Painting is delegated to #paint0 that is used by repaintImmediately() too.

Overrides:
paint in class Container


Copyright © 2000-2008 JGoodies Karsten Lentzsch. All Rights Reserved.