com.isti.util.gui
Class PopPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.isti.util.gui.PopPanel
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class PopPanel
extends javax.swing.JPanel

Class PopPanel manages a "popup" panel, including support for creating and hiding the panel, and for optional thread blocking while the panel is displayed. Presently, the only type of panel supported is a message-style popup containing a title, a message and an optional button. A method ('waitForButton()') is provided to allow the calling thread to be blocked while the popup panel is displayed. An alternative approach is to attach a 'ComponentListener' to the panel (via 'addComponentListener()'), which will have its 'componentHidden()' method called after the popup is dismissed. The popup panel created needs to be added to a visible container in order to be displayed. The 'PopPanelHost' class provides support for pseudo-modal popup functionality.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String okButtonText
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
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
PopPanel(java.lang.String message, java.lang.String title)
          Creates a popup panel with a default character width and an "OK" button.
PopPanel(java.lang.String message, java.lang.String title, java.awt.Cursor buttonCursor)
          Creates a popup panel with a default character width and an "OK" button.
PopPanel(java.lang.String message, java.lang.String title, java.awt.Cursor buttonCursor, java.lang.String buttonText)
          Creates a popup panel with a custom character width.
PopPanel(java.lang.String message, java.lang.String title, int charWidth)
          Creates a popup panel with a custom character width and an "OK" button.
PopPanel(java.lang.String message, java.lang.String title, int charWidth, java.awt.Cursor buttonCursor, java.lang.String buttonText)
          Creates a popup panel with a custom character width.
PopPanel(java.lang.String message, java.lang.String title, int charWidth, java.awt.Cursor buttonCursor, java.lang.String buttonText, javax.swing.JPanel bottomPanel)
          Creates a popup panel with a custom character width.
PopPanel(java.lang.String message, java.lang.String title, int charWidth, java.lang.String buttonText)
          Creates a popup panel with a custom character width.
PopPanel(java.lang.String message, java.lang.String title, java.lang.String buttonText)
          Creates a popup panel with a default character width.
 
Method Summary
static javax.swing.border.Border createShadowedBevelBorder(java.lang.String title)
          Creates and returns shadowed bevel border.
 boolean getPopButtonPressedFlag()
          Determines if the button on this PopPanel was pressed (resulting in the PopPanel being closed).
 void waitForButton()
          Method which blocks the calling thread until the popup panel is dismissed.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

okButtonText

public static final java.lang.String okButtonText
See Also:
Constant Field Values
Constructor Detail

PopPanel

public PopPanel(java.lang.String message,
                java.lang.String title)
Creates a popup panel with a default character width and an "OK" button.

Parameters:
message - message text for the panel.
title - title text for the panel.

PopPanel

public PopPanel(java.lang.String message,
                java.lang.String title,
                int charWidth)
Creates a popup panel with a custom character width and an "OK" button.

Parameters:
message - message text for the panel.
title - title text for the panel.
charWidth - approximate width for the panel, measured in characters.

PopPanel

public PopPanel(java.lang.String message,
                java.lang.String title,
                java.awt.Cursor buttonCursor)
Creates a popup panel with a default character width and an "OK" button.

Parameters:
message - message text for the panel.
title - title text for the panel.
buttonCursor - if not 'null' then sets the cursor for the button.

PopPanel

public PopPanel(java.lang.String message,
                java.lang.String title,
                java.lang.String buttonText)
Creates a popup panel with a default character width.

Parameters:
message - message text for the panel.
title - title text for the panel.
buttonText - if not null then a string containing the text for the button; if null then no button is displayed.

PopPanel

public PopPanel(java.lang.String message,
                java.lang.String title,
                int charWidth,
                java.lang.String buttonText)
Creates a popup panel with a custom character width.

Parameters:
message - message text for the panel.
title - title text for the panel.
charWidth - approximate width for the panel, measured in characters.
buttonText - if not null then a string containing the text for the button; if null then no button is displayed.

PopPanel

public PopPanel(java.lang.String message,
                java.lang.String title,
                java.awt.Cursor buttonCursor,
                java.lang.String buttonText)
Creates a popup panel with a custom character width.

Parameters:
message - message text for the panel.
title - title text for the panel.
buttonCursor - if not 'null' then sets the cursor for the button.
buttonText - if not null then a string containing the text for the button; if null then no button is displayed.

PopPanel

public PopPanel(java.lang.String message,
                java.lang.String title,
                int charWidth,
                java.awt.Cursor buttonCursor,
                java.lang.String buttonText)
Creates a popup panel with a custom character width.

Parameters:
message - message text for the panel.
title - title text for the panel.
charWidth - approximate width for the panel, measured in characters.
buttonCursor - if not 'null' then sets the cursor for the button.
buttonText - if not null then a string containing the text for the button; if null then no button is displayed.

PopPanel

public PopPanel(java.lang.String message,
                java.lang.String title,
                int charWidth,
                java.awt.Cursor buttonCursor,
                java.lang.String buttonText,
                javax.swing.JPanel bottomPanel)
Creates a popup panel with a custom character width.

Parameters:
message - message text for the panel.
title - title text for the panel.
charWidth - approximate width for the panel, measured in characters.
buttonCursor - if not 'null' then sets the cursor for the button.
buttonText - if not null then a string containing the text for the button; if null then no button is displayed.
bottomPanel - the bottom panel or null for none.
Method Detail

waitForButton

public void waitForButton()
Method which blocks the calling thread until the popup panel is dismissed. A local event dispatch loop is used, which relays events while the thread is blocked.


getPopButtonPressedFlag

public boolean getPopButtonPressedFlag()
Determines if the button on this PopPanel was pressed (resulting in the PopPanel being closed).

Returns:
true if the button on this PopPanel was pressed; false if not.

createShadowedBevelBorder

public static javax.swing.border.Border createShadowedBevelBorder(java.lang.String title)
Creates and returns shadowed bevel border. Useful for dialog-style panels.

Parameters:
title - the title to put on the border.
Returns:
border