rcUserInterface
Class rcProgressBar

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--rcUserInterface.rcProgressBar

public class rcProgressBar
extends javax.swing.JFrame
implements java.awt.event.ActionListener, java.lang.Runnable

This class presents the progress of the initialisation or download process in graphical form. The progress bar in the run control looks like this:
and a bit later like this

The class is a JFrame which the swing component JProgressBar in it. The progress bar has as length the total number of components that have to be initialised or downloaded and as actual length the number of components that are initialised or downloaded. In addition there is a label where the user can add some text about what is being displayed. A cancel button allows to close this frame prematurely in a graceful way if the user chooses not to have this display. The rcProgressBar runs as a separate thread in the rcGui and polls the run control server for update information in regular intervals.

Version:
Dec 20, 1999
Author:
C.Witzig
See Also:
Serialized Form

Inner Class Summary
(package private)  class rcProgressBar.MyWindowListener
          A window listener that flags that no window is attached any more.
 
Inner classes inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  boolean bDebug
          If true prints some info to System.out.
protected  boolean bGoOn
          Is true as long as we display the progress.
protected  javax.swing.JButton btnCancel
          A cancel button to be able to stop the show
protected  javax.swing.JLabel theLabel
          label which says what we are doing
protected  javax.swing.JProgressBar theProgressBar
          the progress bar itself
 
Fields inherited from class javax.swing.JFrame
accessibleContext, defaultCloseOperation, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
base, CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, frameSerializedDataVersion, HAND_CURSOR, icon, ICONIFIED, mbManagement, menuBar, MOVE_CURSOR, N_RESIZE_CURSOR, nameCounter, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, ownedWindows, resizable, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, serialVersionUID, state, SW_RESIZE_CURSOR, TEXT_CURSOR, title, W_RESIZE_CURSOR, WAIT_CURSOR, weakThis
 
Fields inherited from class java.awt.Window
active, base, focusMgr, inputContext, nameCounter, OPENED, ownedWindowList, serialVersionUID, state, warningString, weakThis, windowListener, windowSerializedDataVersion
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
rcProgressBar(java.lang.String theTitle)
          Constructor which needs to know the title
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent ev)
          The rcProgressBar is its own ActionListener.
static void main(java.lang.String[] theArgs)
          Main function for debugging in standalone mode.
 void run()
          rcProgressBar implements the Runnable interface.
 void setMaximum(int maxVal)
          Sets the maximum value of the progress bar
 void setMessage(java.lang.String theMessage)
          To set the message on the label
 void setMinimum(int minVal)
          Sets the minimu value of the progress bar
 void setValue(int iVal)
          To set the current value of the progress bar.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, createRootPaneException, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
, addNotify, addToFrameList, constructComponentName, finalize, getCursorType, getFrames, getIconImage, getMenuBar, getState, getTitle, initIDs, isResizable, postProcessKeyEvent, readObject, remove, removeFromFrameList, removeNotify, setCursor, setIconImage, setMenuBar, setResizable, setState, setTitle, writeObject
 
Methods inherited from class java.awt.Window
addOwnedWindow, addWindowListener, applyResourceBundle, applyResourceBundle, connectOwnedWindow, dispatchEventImpl, dispose, eventEnabled, getFocusOwner, getInputContext, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, isActive, isShowing, nextFocus, ownedInit, pack, postEvent, postWindowEvent, preProcessKeyEvent, processEvent, removeOwnedWindow, removeWindowListener, setFocusOwner, setWarningString, show, toBack, toFront, transferFocus
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, countComponents, deliverEvent, dispatchEventToSelf, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getMouseEventTarget, getPreferredSize, getWindow, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, paint, paintComponents, postsOldMouseEvents, preferredSize, print, printComponents, printOneComponent, processContainerEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getSize, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

theLabel

protected javax.swing.JLabel theLabel
label which says what we are doing

theProgressBar

protected javax.swing.JProgressBar theProgressBar
the progress bar itself

btnCancel

protected javax.swing.JButton btnCancel
A cancel button to be able to stop the show

bGoOn

protected boolean bGoOn
Is true as long as we display the progress. This flag is being used internally to flag the exit condition.

bDebug

private boolean bDebug
If true prints some info to System.out.
Constructor Detail

rcProgressBar

public rcProgressBar(java.lang.String theTitle)
Constructor which needs to know the title
Method Detail

setMessage

public void setMessage(java.lang.String theMessage)
To set the message on the label

setMinimum

public void setMinimum(int minVal)
Sets the minimu value of the progress bar

setMaximum

public void setMaximum(int maxVal)
Sets the maximum value of the progress bar

setValue

public void setValue(int iVal)
To set the current value of the progress bar.

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent ev)
The rcProgressBar is its own ActionListener. This Implements the action on the cancel button pressed.
Specified by:
actionPerformed in interface java.awt.event.ActionListener

run

public void run()
rcProgressBar implements the Runnable interface. We enter an do-while loop and exit when a) the progress bar reaches the end b) the cancel button has been pressed c) the window is being closed
Specified by:
run in interface java.lang.Runnable

main

public static void main(java.lang.String[] theArgs)
Main function for debugging in standalone mode.