java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
allensoft.gui.CardPanel
- All Implemented Interfaces:
- javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
- public class CardPanel
- extends javax.swing.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().
| Nested classes inherited from class javax.swing.JPanel |
javax.swing.JPanel.AccessibleJPanel |
| 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 |
| Fields inherited from class java.awt.Container |
|
|
Constructor Summary |
CardPanel()
Creates a CardPanel. |
|
Method Summary |
int |
getVisibleChildIndex()
Return the index of the first (and one would hope - only)
visible child. |
void |
showCard(java.awt.Component card)
Hide the currently visible child "card" and show the
specified card. |
void |
showCard(java.lang.String name)
Show 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, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, 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, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, 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, processMouseEvent, 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, transferFocusBackward, 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.
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.
showCard
public void showCard(java.awt.Component card)
- 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.
showCard
public void showCard(java.lang.String name)
- Show the card with the specified name.
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.
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.