com.imagero.gui.flowin
Class TabContainer

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended bycom.imagero.gui.flowin.TabContainer
All Implemented Interfaces:
ContentPane, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, SortableContainer
Direct Known Subclasses:
ButtonPanel

public class TabContainer
extends javax.swing.JComponent
implements SortableContainer, ContentPane

See Also:
Serialized Form

Nested Class Summary
 class TabContainer.Tab
           
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String ADDED_TAB_PROPERTY
           
protected  java.util.Comparator comparator
           
static java.lang.String COMPARATOR_PROPERTY
           
static int DEFAULT_MOUSE_HANDLER
           
static int DEFAULT_TEXT_COMPARATOR
           
static int ENUM_COMPARATOR
           
static int FANCY_MOUSE_HANDLER
           
static int HOVER_MOUSE_HANDLER
           
static int INVERTED_TEXT_COMPARATOR
           
protected  RainLayout layout
           
static java.lang.String MOUSE_HANDLER_TYPE_PROPERTY
           
static int NULL_COMPARATOR
           
static java.lang.String REMOVE_COMMAND
           
static java.lang.String REMOVED_TAB_PROPERTY
           
protected  boolean rollover
           
static java.lang.String ROLLOVER_PROPERTY
           
static java.lang.String SELECTED_TAB_PROPERTY
           
static java.lang.String SHOW_COMMAND
           
static java.lang.String SORT_STRING_PROPERTY
           
static int STRING_COMPARATOR
           
static int USER_COMPARATOR
           
 
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 com.imagero.gui.flowin.ContentPane
GOT_FOCUS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TabContainer(int axis)
           
TabContainer(int axis, int mouseHandlerType)
           
 
Method Summary
 javax.swing.AbstractButton add(javax.swing.Action a)
           
protected  void addImpl(java.awt.Component comp, java.lang.Object constraints, int index)
          Adds the specified component to this container at the specified index.
 void addTab(javax.swing.AbstractButton b)
           
 void addTab(javax.swing.AbstractButton b, java.lang.Object constraints)
           
 boolean back()
           
protected  TabContainer.Tab createTab(javax.swing.AbstractButton b)
           
 void doLayout()
          Causes this container to lay out its components.
 void enumerateTabs()
          save current tab positions
 boolean forward()
           
 float getAlpha()
           
 int getAxis()
           
 java.util.Comparator getComparator()
          Get Comparator used to sort Components.
 int getComparatorType()
           
 java.awt.Component[] getComponentsOrdered()
          Get components in right order.
 javax.swing.JComponent getContainer()
           
 java.awt.Component getLastFocusOwner()
           
protected  java.awt.event.MouseListener getMouseHandler()
           
 int getMouseHandlerType()
           
 javax.swing.JPopupMenu getPopupMenu()
           
 int getRowCount()
           
 TabContainerUI.TabPanelMouseHandler getSelectedMouseHandler()
           
 TabContainer.Tab getSelectedTab()
           
 java.lang.String getSortString()
           
 TabContainer.Tab getTabFor(javax.swing.AbstractButton b)
           
 TabContainer.Tab[] getTabs()
           
 int getToolTipType()
           
 TabContainerUI getUI()
           
 java.lang.String getUIClassID()
          Returns the UIDefaults key used to look up the name of the swing.plaf.ComponentUI class that defines the look and feel for this component.
 boolean installTabBorder()
           
 boolean isClockwise()
           
 boolean isReversedComponentOrder()
           
 boolean isReversedRowOrder()
           
 boolean isRollover()
           
 boolean isShowToolTips()
           
 boolean isUseAlpha()
           
static void main(java.lang.String[] args)
           
 void moveTab(int oldPos, int newPos)
           
 void removeTab(javax.swing.AbstractButton b)
           
 void removeTab(TabContainer.Tab tab)
           
protected  boolean rotateBorders()
           
 void selectNextTab()
           
 void selectPreviousTab()
           
 void setAlpha(float alpha)
           
 void setAxis(int axis)
           
 void setClockwise(boolean clockwise)
           
 void setComparator(java.util.Comparator cmp)
           
 void setComparator(int type)
           
 void setHorizontal(boolean horizontal)
           
 void setLastFocusOwner(java.awt.Component lastFocusOwner)
           
 void setLayout(java.awt.LayoutManager mgr)
          Sets the layout manager for this container.
 void setMouseHandlerType(int mouseHandlerType)
           
 void setPopupMenu(javax.swing.JPopupMenu popupMenu)
           
 void setReversedComponentOrder(boolean b)
           
 void setReversedRowOrder(boolean b)
           
 void setRollover(boolean rollover)
           
 void setSelectedMouseHandler(TabContainerUI.TabPanelMouseHandler selectedMouseHandler)
           
 void setSelectedTab(TabContainer.Tab newSelection)
           
 void setShowToolTips(boolean showToolTips)
           
 void setSortString(java.lang.String sortString)
           
 void setToolTipType(int toolTipType)
          Set tool tip type - default, short or long description.
 void setUI(TabContainerUI ui)
           
 void setUseAlpha(boolean useAlpha)
           
 void updateUI()
          Resets the UI property to a value from the current look and feel.
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, list, list, paintComponents, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getSize, getToolkit, getTreeLock, hasFocus, imageUpdate, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, list, list, list, paintAll, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ADDED_TAB_PROPERTY

public static final java.lang.String ADDED_TAB_PROPERTY
See Also:
Constant Field Values

comparator

protected java.util.Comparator comparator

COMPARATOR_PROPERTY

public static final java.lang.String COMPARATOR_PROPERTY
See Also:
Constant Field Values

DEFAULT_MOUSE_HANDLER

public static final int DEFAULT_MOUSE_HANDLER
See Also:
Constant Field Values

DEFAULT_TEXT_COMPARATOR

public static final int DEFAULT_TEXT_COMPARATOR
See Also:
Constant Field Values

ENUM_COMPARATOR

public static final int ENUM_COMPARATOR
See Also:
Constant Field Values

FANCY_MOUSE_HANDLER

public static final int FANCY_MOUSE_HANDLER
See Also:
Constant Field Values

HOVER_MOUSE_HANDLER

public static final int HOVER_MOUSE_HANDLER
See Also:
Constant Field Values

INVERTED_TEXT_COMPARATOR

public static final int INVERTED_TEXT_COMPARATOR
See Also:
Constant Field Values

layout

protected RainLayout layout

MOUSE_HANDLER_TYPE_PROPERTY

public static final java.lang.String MOUSE_HANDLER_TYPE_PROPERTY
See Also:
Constant Field Values

NULL_COMPARATOR

public static final int NULL_COMPARATOR
See Also:
Constant Field Values

REMOVE_COMMAND

public static final java.lang.String REMOVE_COMMAND
See Also:
Constant Field Values

REMOVED_TAB_PROPERTY

public static final java.lang.String REMOVED_TAB_PROPERTY
See Also:
Constant Field Values

rollover

protected boolean rollover

ROLLOVER_PROPERTY

public static final java.lang.String ROLLOVER_PROPERTY
See Also:
Constant Field Values

SELECTED_TAB_PROPERTY

public static final java.lang.String SELECTED_TAB_PROPERTY
See Also:
Constant Field Values

SHOW_COMMAND

public static final java.lang.String SHOW_COMMAND
See Also:
Constant Field Values

SORT_STRING_PROPERTY

public static final java.lang.String SORT_STRING_PROPERTY
See Also:
Constant Field Values

STRING_COMPARATOR

public static final int STRING_COMPARATOR
See Also:
Constant Field Values

USER_COMPARATOR

public static final int USER_COMPARATOR
See Also:
Constant Field Values
Constructor Detail

TabContainer

public TabContainer(int axis)

TabContainer

public TabContainer(int axis,
                    int mouseHandlerType)
Method Detail

add

public javax.swing.AbstractButton add(javax.swing.Action a)
Specified by:
add in interface ContentPane

addImpl

protected void addImpl(java.awt.Component comp,
                       java.lang.Object constraints,
                       int index)
Description copied from class: java.awt.Container
Adds the specified component to this container at the specified index. This method also notifies the layout manager to add the component to this container's layout using the specified constraints object via the addLayoutComponent method. The constraints are defined by the particular layout manager being used. For example, the BorderLayout class defines five constraints: BorderLayout.NORTH, BorderLayout.SOUTH, BorderLayout.EAST, BorderLayout.WEST, and BorderLayout.CENTER.

Note that if the component already exists in this container or a child of this container, it is removed from that container before being added to this container.

This is the method to override if a program needs to track every add request to a container as all other add methods defer to this one. An overriding method should usually include a call to the superclass's version of the method:

super.addImpl(comp, constraints, index)

Parameters:
comp - the component to be added
constraints - an object expressing layout constraints for this component
index - the position in the container's list at which to insert the component, where -1 means append to the end
See Also:
Container.add(Component), Container.add(Component, int), Container.add(Component, java.lang.Object), LayoutManager, LayoutManager2

addTab

public void addTab(javax.swing.AbstractButton b)

addTab

public void addTab(javax.swing.AbstractButton b,
                   java.lang.Object constraints)

back

public boolean back()

createTab

protected TabContainer.Tab createTab(javax.swing.AbstractButton b)

doLayout

public void doLayout()
Description copied from class: java.awt.Container
Causes this container to lay out its components. Most programs should not call this method directly, but should invoke the validate method instead.

See Also:
LayoutManager.layoutContainer(java.awt.Container), Container.setLayout(java.awt.LayoutManager), Container.validate()

enumerateTabs

public void enumerateTabs()
save current tab positions


forward

public boolean forward()

getAlpha

public float getAlpha()

getAxis

public int getAxis()

getComparator

public java.util.Comparator getComparator()
Description copied from interface: SortableContainer
Get Comparator used to sort Components. If this method returns null, then Components should be in their natural order.

Specified by:
getComparator in interface SortableContainer
Returns:
current Comparator or null

getComparatorType

public int getComparatorType()

getComponentsOrdered

public java.awt.Component[] getComponentsOrdered()
Description copied from interface: SortableContainer
Get components in right order. If this method returns null LayoutManager should use getComparator and sort children by itself. Purpose of this method is to achieve better performance without caching of information by LayoutManager.

Specified by:
getComponentsOrdered in interface SortableContainer
Returns:
Component [] array or null

getContainer

public javax.swing.JComponent getContainer()
Specified by:
getContainer in interface ContentPane

getLastFocusOwner

public java.awt.Component getLastFocusOwner()
Specified by:
getLastFocusOwner in interface ContentPane

getMouseHandler

protected java.awt.event.MouseListener getMouseHandler()

getMouseHandlerType

public int getMouseHandlerType()

getPopupMenu

public javax.swing.JPopupMenu getPopupMenu()

getRowCount

public int getRowCount()

getSelectedMouseHandler

public TabContainerUI.TabPanelMouseHandler getSelectedMouseHandler()

getSelectedTab

public TabContainer.Tab getSelectedTab()

getSortString

public java.lang.String getSortString()

getTabFor

public TabContainer.Tab getTabFor(javax.swing.AbstractButton b)

getTabs

public TabContainer.Tab[] getTabs()

getToolTipType

public int getToolTipType()

getUI

public TabContainerUI getUI()

getUIClassID

public java.lang.String getUIClassID()
Description copied from class: javax.swing.JComponent
Returns the UIDefaults key used to look up the name of the swing.plaf.ComponentUI class that defines the look and feel for this component. Most applications will never need to call this method. Subclasses of JComponent that support pluggable look and feel should override this method to return a UIDefaults key that maps to the ComponentUI subclass that defines their look and feel.

Returns:
the UIDefaults key for a ComponentUI subclass
See Also:
UIDefaults.getUI(javax.swing.JComponent)

installTabBorder

public boolean installTabBorder()

isClockwise

public boolean isClockwise()

isReversedComponentOrder

public boolean isReversedComponentOrder()

isReversedRowOrder

public boolean isReversedRowOrder()

isRollover

public boolean isRollover()

isShowToolTips

public boolean isShowToolTips()

isUseAlpha

public boolean isUseAlpha()

main

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

moveTab

public void moveTab(int oldPos,
                    int newPos)

removeTab

public void removeTab(javax.swing.AbstractButton b)

removeTab

public void removeTab(TabContainer.Tab tab)

rotateBorders

protected boolean rotateBorders()

selectNextTab

public void selectNextTab()

selectPreviousTab

public void selectPreviousTab()

setAlpha

public void setAlpha(float alpha)

setAxis

public void setAxis(int axis)

setClockwise

public void setClockwise(boolean clockwise)

setComparator

public void setComparator(java.util.Comparator cmp)

setComparator

public void setComparator(int type)

setHorizontal

public void setHorizontal(boolean horizontal)
Specified by:
setHorizontal in interface ContentPane

setLastFocusOwner

public void setLastFocusOwner(java.awt.Component lastFocusOwner)
Specified by:
setLastFocusOwner in interface ContentPane

setLayout

public void setLayout(java.awt.LayoutManager mgr)
Description copied from class: java.awt.Container
Sets the layout manager for this container.

Parameters:
mgr - the specified layout manager
See Also:
Container.doLayout(), Container.getLayout()

setMouseHandlerType

public void setMouseHandlerType(int mouseHandlerType)

setPopupMenu

public void setPopupMenu(javax.swing.JPopupMenu popupMenu)

setReversedComponentOrder

public void setReversedComponentOrder(boolean b)

setReversedRowOrder

public void setReversedRowOrder(boolean b)

setRollover

public void setRollover(boolean rollover)

setSelectedMouseHandler

public void setSelectedMouseHandler(TabContainerUI.TabPanelMouseHandler selectedMouseHandler)

setSelectedTab

public void setSelectedTab(TabContainer.Tab newSelection)

setShowToolTips

public void setShowToolTips(boolean showToolTips)

setSortString

public void setSortString(java.lang.String sortString)

setToolTipType

public void setToolTipType(int toolTipType)
Set tool tip type - default, short or long description.

Parameters:
toolTipType -
See Also:
ButtonRenderer.LONG_DESCRIPTION, ButtonRenderer.SHORT_DESCRIPTION, ButtonRenderer.DEFAULT_DESCRIPTION

setUI

public void setUI(TabContainerUI ui)

setUseAlpha

public void setUseAlpha(boolean useAlpha)

updateUI

public void updateUI()
Description copied from class: javax.swing.JComponent
Resets the UI property to a value from the current look and feel. JComponent subclasses must override this method like this:
   public void updateUI() {
      setUI((SliderUI)UIManager.getUI(this);
   }
  

See Also:
JComponent.setUI(javax.swing.plaf.ComponentUI), UIManager.getLookAndFeel(), UIManager.getUI(javax.swing.JComponent)