de.kosi.gui.window
Class WaitBox

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Dialog
                          |
                          +--javax.swing.JDialog
                                |
                                +--de.kosi.gui.swing.CDialog
                                      |
                                      +--de.kosi.gui.window.WaitBox
All Implemented Interfaces:
javax.accessibility.Accessible, CWindow, java.util.EventListener, java.awt.image.ImageObserver, LookAndFeelChangeListener, java.awt.MenuContainer, ResourceBundleChangeListener, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public abstract class WaitBox
extends CDialog

A wait box is a small dialog box which keeps as long visible as the thread it is waiting for is alive. It has a cancel button which kills the thread if it gets pressed. After creating the wait box with one of it's constructors start it and it's thread with the start() method.

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Inner classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Inner classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Fields inherited from class de.kosi.gui.swing.CDialog
actionMap
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
WaitBox(java.lang.String statusMessage, java.awt.Dialog dialog)
           
WaitBox(java.lang.String statusMessage, java.awt.Dialog dialog, int maxProgress)
           
WaitBox(java.lang.String statusMessage, java.awt.Frame frame)
           
WaitBox(java.lang.String statusMessage, java.awt.Frame frame, int maxProgress)
           
 
Method Summary
abstract  void cancel()
           
 void cancel(java.awt.event.ActionEvent event)
          Kills the thread.
abstract  java.lang.Object doWork()
           
 void init(int maxProgress, java.lang.String statusMessage)
           
 boolean isCancelled()
           
 java.lang.Object run()
          Shows the wait box and starts the thread.
 void setState(int progress, java.lang.String message)
           
 void setState(java.lang.String message)
           
 
Methods inherited from class de.kosi.gui.swing.CDialog
addAction, getActionMap, getPreferredLocation, init, lookAndFeelChanged, openHelp, reset, resourceBundleChanged, setVisible
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isRootPaneCheckingEnabled, paramString, processKeyEvent, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setLocationRelativeTo, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, setModal, setResizable, setTitle, show
 
Methods inherited from class java.awt.Window
addWindowListener, applyResourceBundle, applyResourceBundle, finalize, getFocusOwner, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getOwnedWindows, getOwner, getToolkit, getWarningString, isShowing, pack, postEvent, processEvent, removeWindowListener, setCursor, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFont, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputMethodRequests, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, 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, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface de.kosi.gui.swing.CWindow
getName
 

Constructor Detail

WaitBox

public WaitBox(java.lang.String statusMessage,
               java.awt.Dialog dialog)

WaitBox

public WaitBox(java.lang.String statusMessage,
               java.awt.Frame frame)

WaitBox

public WaitBox(java.lang.String statusMessage,
               java.awt.Frame frame,
               int maxProgress)

WaitBox

public WaitBox(java.lang.String statusMessage,
               java.awt.Dialog dialog,
               int maxProgress)
Method Detail

init

public void init(int maxProgress,
                 java.lang.String statusMessage)

isCancelled

public boolean isCancelled()

doWork

public abstract java.lang.Object doWork()

cancel

public abstract void cancel()

setState

public void setState(java.lang.String message)

setState

public void setState(int progress,
                     java.lang.String message)

run

public java.lang.Object run()
                     throws java.lang.InterruptedException
Shows the wait box and starts the thread. As soon as the thread terminates the wait box hides again. The calling thread doesn't get blocked while waiting for the thread to die since the waiting takes place in a different thread.

cancel

public void cancel(java.awt.event.ActionEvent event)
Kills the thread. We use the deprecated java.lang.Thread.thread.stop() method since java.lang.Thread.thread.destroy() hasn't been implemented yet.