net.infonode.tabbedpanel
Class Tab

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended bynet.infonode.tabbedpanel.Tab
All Implemented Interfaces:
Accessible, ImageObserver, MenuContainer, Serializable
Direct Known Subclasses:
TitledTab

public class Tab
extends JPanel

A Tab is a component that represents a tab in a TabbedPanel.

A tab can hold a content component. The content component will then be shown in the content area of the TabbedPanel that the tab is a member of when the tab is selected. If the tab doesn't have a content component, then the TabbedPanel will not show any content in the content area, i.e. it will be empty.

The tab is basically a JPanel with a BorderLayout. The layout manager can be changed using setLayout. Components and borders can be added and removed from the tab. The tab can also be subclassed to create other types of tabs, see TitledTab. In most cases TitledTab is the preferred tab type to use because TitledTab adds support for a text, icon, looks etc.

The tab component will be shown in the tab area of a TabbedPanel after the tab has become a member of that TabbedPanel by either adding or inserting it. A tab can only be a member of one TabbedPanel at the same time.

A tab can have different states when it is a member of a TabbedPanel:

Version:
$Revision: 1.33 $
See Also:
TabListener, TabbedPanel, TitledTab, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
Tab()
          Constructs a tab without a content component and this tab as event component
Tab(JComponent contentComponent)
          Constructs a tab with a content component and this tab as event component
 
Method Summary
 void addNotify()
           
 void addTabListener(TabListener listener)
          Adds a TabListener
 JComponent getContentComponent()
          Gets the content component
 JComponent[] getEventComponents()
          Gets the event components for this Tab
 JComponent getFocusableComponent()
          Gets the component in this tab that is focusable
 int getIndex()
          Gets the index of this tab in the TabbedPanel.
 Shape getShape()
          Gets the tab Shape.
 TabbedPanel getTabbedPanel()
          Gets the TabbedPanel that this tab is a member of
 boolean isHighlighted()
          Returns if this tab is highlighted in the TabbedPanel that it is a member of.
 boolean isSelected()
          Returns if this tab is selected in the TabbedPanel that it is a member of.
 void removeNotify()
           
 void removeTabListener(TabListener listener)
          Removes a TabListener
 void setEnabled(boolean enabled)
          Enable or disable this tab.
 void setEventComponent(JComponent eventComponent)
          Sets the event component.
 void setEventComponents(JComponent[] eventComponents)
          Sets a list of event components.
 void setFocusableComponent(JComponent focusableComponent)
          Sets the component in this tab that represents the focusable part of the tab.
 void setHighlighted(boolean highlighted)
          Highlights this tab.
 void setSelected(boolean selected)
          Selects this tab.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getWidth, getVisibleRect, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, 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, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Tab

public Tab()
Constructs a tab without a content component and this tab as event component

See Also:
setEventComponent(javax.swing.JComponent)

Tab

public Tab(JComponent contentComponent)
Constructs a tab with a content component and this tab as event component

Parameters:
contentComponent - content component for this tab or null for no content component.
See Also:
setEventComponent(javax.swing.JComponent)
Method Detail

addTabListener

public void addTabListener(TabListener listener)
Adds a TabListener

Parameters:
listener - the TabListener to add

removeTabListener

public void removeTabListener(TabListener listener)
Removes a TabListener

Parameters:
listener - the TabListener to remove

getContentComponent

public JComponent getContentComponent()
Gets the content component

Returns:
the content component for this tab or null if this Tab doesn't have a content component

getTabbedPanel

public TabbedPanel getTabbedPanel()
Gets the TabbedPanel that this tab is a member of

Returns:
the TabbedPanel or null if this tab is not a member of any TabbedPanel

setEnabled

public void setEnabled(boolean enabled)

Enable or disable this tab.

If the tab is disabled, then the tab will not signal any events until it is enabled again.

Parameters:
enabled - true for enabled, otherwise false

setSelected

public void setSelected(boolean selected)

Selects this tab. A tab can only have the selected state if it is a member of a TabbedPanel.

Setting selected to true means that this tab will be the selected tab in the TabbedPanel it is a member of. If this tab is the selected tab in the TabbedPanel then setting selected to false means there will be no selected tab in the TabbedPanel until another tab is selected.

Parameters:
selected - True for selected, otherwise false

isSelected

public boolean isSelected()
Returns if this tab is selected in the TabbedPanel that it is a member of.

Returns:
true if selected, false if not selected or this tab is not member of a TabbedPanel

setHighlighted

public void setHighlighted(boolean highlighted)
Highlights this tab. This tab will be the highlighted tab in the TabbedPanel that it is member of.

Parameters:
highlighted - true for highlight, otherwise false

isHighlighted

public boolean isHighlighted()
Returns if this tab is highlighted in the TabbedPanel that it is a member of.

Returns:
true if highlighted, false if not highlighted or this tab is not member of a TabbedPanel

setEventComponent

public void setEventComponent(JComponent eventComponent)

Sets the event component. An event component is a component in the tab that is used for internal listening to mouse events on the tab.

Note: The event component must be part of this Tab

Parameters:
eventComponent - a component in this tab that should be used for mouse event listening

setEventComponents

public void setEventComponents(JComponent[] eventComponents)

Sets a list of event components. An event component is a component in the tab that is used for internal listening to mouse events on the tab. This method makes it possible to use several components in the tab as event components.

Note: The event components must be part of this Tab

Parameters:
eventComponents - a list of components in this tab that should be used for mouse event listening

getEventComponents

public JComponent[] getEventComponents()
Gets the event components for this Tab

Returns:
a list of all event components for this tab

getIndex

public int getIndex()
Gets the index of this tab in the TabbedPanel.

Returns:
the tab index, -1 if this tab is not a member of a TabbedPanel.

getFocusableComponent

public JComponent getFocusableComponent()
Gets the component in this tab that is focusable

Returns:
focusable component or null if this tab doesn't have any focusable component

setFocusableComponent

public void setFocusableComponent(JComponent focusableComponent)

Sets the component in this tab that represents the focusable part of the tab.

Note: The focusable component must be part of this Tab

Parameters:
focusableComponent - a component in this tab or null if no component should be focusable

getShape

public Shape getShape()

Gets the tab Shape.

This returns the shape of the tab. This can be be used by for example content borders in the tabbed panel so they can skip a gap where the tab intersects the tabbed panel content area.

Returns:
the tab Shape, null if the tab has the normal component rectangle shape
Since:
ITP 1.2.0

addNotify

public void addNotify()

removeNotify

public void removeNotify()


Copyright © 2007 NNL Technology AB. All Rights Reserved.