com.jgoodies.uif.panel
Class CardPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.jgoodies.uif.panel.CardPanel
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible
public class CardPanel
- extends JPanel
A simpler alternative to a JPanel with a CardLayout. The AWT CardLayout
layout manager can be inconvenient to use because the special "stack of
cards" operations it supports require a cast to use. For example to show
the card named "myCard" given a JPanel with a CardLayout one would write:
((CardLayout)(myJPanel.getLayout())).show(myJPanel, "myCard");
This doesn't work well with Swing - all of the CardLayout display operations,
like show
call validate directly. Swing supports automatic
validation (see JComponent.revalidate()); this direct call to validate is
inefficient.
The CardPane JPanel subclass is intended to support a layout with a modest number
of cards, on the order of 100 or less. A cards name is it's component
name, as in java.awt.Component.getName(), which is set when the component
is added to the CardPanel:
myCardPanel.add(myChild, "MyChildName");
myChild.getName() => "MyChildName"
As with CardLayout, the first child added to a CardPanel is made visible
and there's only one child visible at a time. The showCard
method accepts either a childs name or the child itself:
myCardPanel.show("MyChildName");
myCardPanel.show(myChild);
The CardPanel class doesn't support the vgap/hgap CardLayout properties since
one can add a Border, see JComponent.setBorder().
- Author:
- Sun Microsystems
- See Also:
- Serialized Form
Constructor Summary |
CardPanel()
Creates a CardPanel. |
Method Summary |
Component |
getVisibleCard()
Hide the currently visible child "card" and show the
specified card. |
int |
getVisibleChildIndex()
Return the index of the first (and one would hope - only)
visible child. |
String |
getVisibleChildName()
Returns the name of the visible child. |
void |
showCard(Component card)
Hides the currently visible child "card" and show the
specified card. |
void |
showCard(String name)
Shows the card with the specified name. |
void |
showFirstCard()
Show the first card that was added to this CardPanel. |
void |
showLastCard()
Show the last card that was added to this CardPanel. |
void |
showNextCard()
Show the card that was added to this CardPanel after the currently
visible card. |
void |
showPreviousCard()
Show the card that was added to this CardPanel before the currently
visible card. |
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 |
CardPanel
public CardPanel()
- Creates a CardPanel. Children, called "cards" in this API, should be added
with add(). The first child we be made visible, subsequent children will
be hidden. To show a card, use one of the show*Card methods.
getVisibleCard
public Component getVisibleCard()
- Hide the currently visible child "card" and show the
specified card. If the specified card isn't a child
of the CardPanel then we add it here.
- Returns:
- the currently visible child Component
getVisibleChildIndex
public int getVisibleChildIndex()
- Return the index of the first (and one would hope - only)
visible child. If a visible child can't be found,
perhaps the caller has inexlicably hidden all of the
children, then return -1.
- Returns:
- the index of the visible child component, -1 if all are hidden
getVisibleChildName
public String getVisibleChildName()
- Returns the name of the visible child.
- Returns:
- the name of the visible child
showCard
public void showCard(Component card)
- Hides the currently visible child "card" and show the
specified card. If the specified card isn't a child
of the CardPanel then we add it here.
- Parameters:
card
- the component to make visible
showCard
public void showCard(String name)
- Shows the card with the specified name.
- Parameters:
name
- the name of the card to make visible- See Also:
Component.getName()
showFirstCard
public void showFirstCard()
- Show the first card that was added to this CardPanel.
showLastCard
public void showLastCard()
- Show the last card that was added to this CardPanel.
showNextCard
public void showNextCard()
- Show the card that was added to this CardPanel after the currently
visible card. If the currently visible card was added last, then
show the first card.
showPreviousCard
public void showPreviousCard()
- Show the card that was added to this CardPanel before the currently
visible card. If the currently visible card was added first, then
show the last card.
Copyright © 2000-2008 JGoodies Karsten Lentzsch. All Rights Reserved.