PIRL.Viewers

## Class Splash_Screen

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - javax.swing.JWindow
        - - PIRL.Viewers.Splash_Screen

All Implemented Interfaces:
  ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer

    public class Splash_Screen
    extends JWindow

A Splash_Screen is an application start-up image window.

The splash screen image will be displayed in a borderless window centered on the display. A progress bar will be provided across the bottom of the window. The image is optional.

An optional parent window may be specified that will be displayed when the splash screen is `stopped`. This is typically the application GUI.

The splash screen may be set to remain displayed for a fixed duration, or allowed to run indefinately until it is explicitly stopped.

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class javax.swing.JWindow

`JWindow.AccessibleJWindow`

### Nested classes/interfaces inherited from class java.awt.Window

`Window.AccessibleAWTWindow, Window.Type`

### 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
`static String` `ID`
`static int` `INDEFINATE_DURATION` Duration value for indefinate display.

### Fields inherited from class javax.swing.JWindow

`accessibleContext, rootPane, rootPaneCheckingEnabled`

### 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

Constructors
Constructor and Description
`Splash_Screen()` Construct an indefinate duration Splash_Screen.
`Splash_Screen(String image_source)` Construct an indefinate duration Splash_Screen.
`Splash_Screen(String image_source, int duration)` Construct a Splash_Screen.
`Splash_Screen(String image_source, JFrame parent)` Construct an indefinate duration Splash_Screen with a parent window.
`Splash_Screen(String image_source, JFrame parent, int duration)` Construct a Splash_Screen.

### Method Summary

Methods
`int` `Duration()` Get the screen display duration.
`Splash_Screen` `Duration(int duration)` Set the duration of the screen display.
`int` `Elapsed()` Get the screen display elapsed time.
`Splash_Screen` `Image(String image_source)` Set the splash screen image.
`JFrame` `Parent()` Get the parent window.
`Splash_Screen` `Parent(JFrame parent)` Set the parent window.
`Splash_Screen` `Start()` Start the splash screen display.
`void` `Stop()` Stop the splash screen.

### Methods inherited from class javax.swing.JWindow

`addImpl, createRootPane, getAccessibleContext, getContentPane, getGlassPane, getGraphics, getLayeredPane, getRootPane, getTransferHandler, isRootPaneCheckingEnabled, paramString, remove, repaint, setContentPane, setGlassPane, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update, windowInit`

### Methods inherited from class java.awt.Window

`addNotify, addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBackground, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setOpacity, setShape, setSize, setSize, setType, setVisible, show, toBack, toFront`

### Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, 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, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### ID

    public static final String ID

See Also:
  Constant Field Values

#### INDEFINATE_DURATION

    public static final int INDEFINATE_DURATION

Duration value for indefinate display.

See Also:
  Constant Field Values

### Constructor Detail

#### Splash_Screen

    public Splash_Screen(String image_source,
                 JFrame parent,
                 int duration)

Construct a Splash_Screen.

Note: When the splash screen image is `loaded` from the image source its full pathname need not be specified if the Icons `directory` has already been specified. This is particularly useful if a `class-relative directory` was specified.

Parameters:
  `image_source` - The splash screen image source. This may be a file pathname or a URL. If null, or the source is not found, the screen will be displayed without an image; only a progress bar.
  `parent` - A JFrame window, or null.
  `duration` - The duration of the screen display, in seconds. If negative the duration is indefinate.

#### Splash_Screen

    public Splash_Screen(String image_source,
                 JFrame parent)

Construct an indefinate duration Splash_Screen with a parent window.

Parameters:
  `image_source` - The splash screen image source. This may be a file pathname or a URL. If null, or the source is not found, the screen will be displayed without an image; only a progress bar.
  `parent` - A JFrame window, or null.

#### Splash_Screen

    public Splash_Screen(String image_source,
                 int duration)

Construct a Splash_Screen.

Parameters:
  `image_source` - The splash screen image source. This may be a file pathname or a URL. If null, or the source is not found, the screen will be displayed without an image; only a progress bar.
  `duration` - The duration of the screen display, in seconds. If negative the duration is indefinate.

#### Splash_Screen

    public Splash_Screen(String image_source)

Construct an indefinate duration Splash_Screen.

Parameters:
  `image_source` - The splash screen image source. This may be a file pathname or a URL. If null, or the source is not found, the screen will be displayed without an image; only a progress bar.

#### Splash_Screen

    public Splash_Screen()

Construct an indefinate duration Splash_Screen.

The splash screen display will only have a progress bar.

### Method Detail

#### Parent

    public Splash_Screen Parent(JFrame parent)

Set the parent window.

If the parent is non-null it will be displayed when the splash is `stopped`.

Parameters:
  `parent` - A JFrame window, or null.
Returns:
  This Splash_Screen

#### Parent

    public JFrame Parent()

Get the parent window.

Returns:
  The parent JFrame window, or null.

#### Image

    public Splash_Screen Image(String image_source)

Set the splash screen image.

If the splash screen is currently being displayed, it is `stopped` (but the parent window, if any, is first saved, set to null, and then restored after the image has been set).

Note: When the splash screen image is `loaded` from the image source its full pathname need not be specified if the Icons `directory` has already been specified. This is particularly useful if a `class-relative directory` was specified.

Parameters:
  `image_source` - The splash screen image source. This may be a file pathname or a URL. If null, or the source is not found, the screen will be displayed without an image; only a progress bar.
See Also:
  `Icons.Load_Icon(String)`

#### Duration

    public Splash_Screen Duration(int duration)

Set the duration of the screen display.

If the duration is negative the screen will be displayed indefinately. In this case an indeterminate progress bar will be used. Otherwise a progress bar displaying the percent progress to the duration will be used.

Parameters:
  `duration` - The duration of the screen display, in seconds. If negative the duration is indefinate.
Returns:
  This Splash_Screen.

#### Duration

    public int Duration()

Get the screen display duration.

Returns:
  The duration (in seconds) of the screen display. If negative, the screen duration is indefinate.

#### Elapsed

    public int Elapsed()

Get the screen display elapsed time.

Returns:
  The elapsed time (in seconds) since the screen display was started. This will be zero if the screen is not being displayed or has just started being displayed.

#### Start

    public Splash_Screen Start()

Start the splash screen display.

The current thread priority is saved and then set to the maximum priority. The splash screen is then displayed. If the screen is running for a set `duration` a timer is started.

See Also:
  `Stop()`

#### Stop

    public void Stop()

Stop the splash screen.

If the screen is running for a set `duration` the timer is stopped. The screen is removed from the display and the current thread's priority is restored to its intitial value. If a non-null `parent window` has been bound to this splash screen it is displayed.

See Also:
  `Start()`