diva.gui.toolbox
Class JShadePane

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 diva.gui.toolbox.JShadePane
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class JShadePane
extends javax.swing.JPanel

A Visio-style tab box that uses a "window shade" metaphor instead of a tabbed folder metaphor. This class implements virtually the same interface as JTabbedPane, but uses the naming convention "shade" instead of "tab".

Version:
$Id: JShadePane.java 48923 2008-03-25 21:19:29Z cxh $
Author:
Michael Shilman
See Also:
JTabbedPane, Serialized Form

Nested Class Summary
private static class JShadePane.Shade
          Borrowed from JTabbedPane.
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  int _selectedIndex
          The selected index.
private  java.util.ArrayList _shades
          The shades in this pane.
 
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
JShadePane()
          Construct an empty instance of the shade pane.
 
Method Summary
 void addShade(java.lang.String title, java.awt.Component shade)
          Adds a component represented by a title button with no icon.
 void addShade(java.lang.String title, javax.swing.Icon icon, java.awt.Component shade)
          Adds a component represented by a title and/or icon, either of which can be null.
 void addShade(java.lang.String title, javax.swing.Icon icon, java.awt.Component shade, java.lang.String tip)
          Adds a component and tooltip represented by a title and/or icon, either of which can be null.
 java.awt.Color getBackgroundAt(int index)
          Returns the tab background color at the given index.
 java.awt.Component getComponentAt(int index)
          Returns the component at the given index.
 javax.swing.Icon getDisabledIconAt(int index)
          Returns the tab disabled icon at the given index.
 java.awt.Color getForegroundAt(int index)
          Returns the tab foreground color at the given index.
 javax.swing.Icon getIconAt(int index)
          Returns the tab icon at the given index.
 int getSelectedIndex()
          Return the index of the selected shade, or -1 if there is none.
 int getShadeCount()
          Return the number of shades in this pane.
 java.lang.String getTitleAt(int index)
          Returns the tab title at the given index.
 int indexOfShade(java.lang.String title)
          Returns the index of the shade with the given title.
 void insertShade(java.lang.String title, javax.swing.Icon icon, java.awt.Component component, java.lang.String tip, int index)
          Insert a shade with the given title/icon/component/tip at the specified index.
 boolean isEnabledAt(int index)
          Returns whether or not the tab at the given index is currently enabled.
static void main(java.lang.String[] argv)
           
protected  void refresh()
          Refresh the layout.
 void removeAll()
          Remove all of the shades.
 void removeShadeAt(int index)
          Remove the shade at the given index.
 void setBackgroundAt(int index, java.awt.Color background)
          Set the background color at the given index.
 void setDisabledIconAt(int index, javax.swing.Icon icon)
          Set the disabled icon for the button at the given index.
 void setEnabledAt(int index, boolean enabled)
          Set the enabledness of the shade at the given index.
 void setForegroundAt(int index, java.awt.Color foreground)
          Set the foreground color at the given index.
 void setIconAt(int index, javax.swing.Icon icon)
          Set the disabled icon for the button at the given index.
 void setSelectedIndex(int index)
          Sets the selected index for this shade pane and causes the pane to refresh its display to show the selected pane's component.
 void setTitleAt(int index, java.lang.String title)
          Set the title string at the given index.
 
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, 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, 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, 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

_selectedIndex

private int _selectedIndex
The selected index.


_shades

private java.util.ArrayList _shades
The shades in this pane.

Constructor Detail

JShadePane

public JShadePane()
Construct an empty instance of the shade pane.

Method Detail

addShade

public void addShade(java.lang.String title,
                     java.awt.Component shade)
Adds a component represented by a title button with no icon. Cover method for insertShade().


addShade

public void addShade(java.lang.String title,
                     javax.swing.Icon icon,
                     java.awt.Component shade)
Adds a component represented by a title and/or icon, either of which can be null. Cover method for insertShade().


addShade

public void addShade(java.lang.String title,
                     javax.swing.Icon icon,
                     java.awt.Component shade,
                     java.lang.String tip)
Adds a component and tooltip represented by a title and/or icon, either of which can be null. Cover method for insertShade().


getSelectedIndex

public int getSelectedIndex()
Return the index of the selected shade, or -1 if there is none.


getShadeCount

public int getShadeCount()
Return the number of shades in this pane.


getTitleAt

public java.lang.String getTitleAt(int index)
Returns the tab title at the given index.

See Also:
setTitleAt(int, java.lang.String)

getIconAt

public javax.swing.Icon getIconAt(int index)
Returns the tab icon at the given index.

See Also:
setIconAt(int, javax.swing.Icon)

getDisabledIconAt

public javax.swing.Icon getDisabledIconAt(int index)
Returns the tab disabled icon at the given index.

See Also:
setDisabledIconAt(int, javax.swing.Icon)

getBackgroundAt

public java.awt.Color getBackgroundAt(int index)
Returns the tab background color at the given index.

See Also:
setBackgroundAt(int, java.awt.Color)

getForegroundAt

public java.awt.Color getForegroundAt(int index)
Returns the tab foreground color at the given index.

See Also:
setForegroundAt(int, java.awt.Color)

isEnabledAt

public boolean isEnabledAt(int index)
Returns whether or not the tab at the given index is currently enabled.

See Also:
setEnabledAt(int, boolean)

getComponentAt

public java.awt.Component getComponentAt(int index)
Returns the component at the given index.


indexOfShade

public int indexOfShade(java.lang.String title)
Returns the index of the shade with the given title.


insertShade

public void insertShade(java.lang.String title,
                        javax.swing.Icon icon,
                        java.awt.Component component,
                        java.lang.String tip,
                        int index)
Insert a shade with the given title/icon/component/tip at the specified index. Either the title or the icon can be null, but not both.


refresh

protected void refresh()
Refresh the layout.


removeAll

public void removeAll()
Remove all of the shades.

Overrides:
removeAll in class java.awt.Container

removeShadeAt

public void removeShadeAt(int index)
Remove the shade at the given index.


setBackgroundAt

public void setBackgroundAt(int index,
                            java.awt.Color background)
Set the background color at the given index.


setDisabledIconAt

public void setDisabledIconAt(int index,
                              javax.swing.Icon icon)
Set the disabled icon for the button at the given index.


setEnabledAt

public void setEnabledAt(int index,
                         boolean enabled)
Set the enabledness of the shade at the given index.


setForegroundAt

public void setForegroundAt(int index,
                            java.awt.Color foreground)
Set the foreground color at the given index.


setIconAt

public void setIconAt(int index,
                      javax.swing.Icon icon)
Set the disabled icon for the button at the given index.


setSelectedIndex

public void setSelectedIndex(int index)
Sets the selected index for this shade pane and causes the pane to refresh its display to show the selected pane's component.


setTitleAt

public void setTitleAt(int index,
                       java.lang.String title)
Set the title string at the given index.


main

public static void main(java.lang.String[] argv)