kiwi.ui
Class ButtonPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--kiwi.ui.KPanel
                                |
                                +--kiwi.ui.ButtonPanel

public class ButtonPanel
extends KPanel

This class is a simple extension of KPanel that arranges buttons in a row, in such a way that the buttons are all of equal size, and justified flush with the right edge of the panel. Many Kiwi dialogs and frames provide buttons in their lower-right areas that are positioned in just this way; this class eliminates the need to perform the layout explicitly in code each time this effect is desired.

Version:
1.1 (11/98)
Author:
Mark Lindner, PING Software Group
See Also:
KPanel, Serialized Form

Inner classes inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Field Summary
static int DEFAULT_SPACING
          The default horizontal spacing.
 
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
 
Constructor Summary
ButtonPanel()
          Construct a new ButtonPanel with the default horizontal spacing.
ButtonPanel(int spacing)
          Construct a new ButtonPanel with the given horizontal spacing.
 
Method Summary
 void addButton(JButton button)
          Add a button to the ButtonPanel.
 void addButton(JButton button, int pos)
          Add a button to the ButtonPanel at the specified position.
 int getButtonCount()
          Get the number of buttons in this ButtonPanel.
 void removeButton(int pos)
          Remove a button from the specified position in the ButtonPanel.
 void removeButton(JButton button)
          Remove a button from the ButtonPanel.
 
Methods inherited from class kiwi.ui.KPanel
getComponentByName, paintComponent, setOpaque, setTexture
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_SPACING

public static final int DEFAULT_SPACING
The default horizontal spacing.
Constructor Detail

ButtonPanel

public ButtonPanel()
Construct a new ButtonPanel with the default horizontal spacing.

ButtonPanel

public ButtonPanel(int spacing)
Construct a new ButtonPanel with the given horizontal spacing.
Parameters:
spacing - The size of the gap (in pixels) to place between buttons horizontally.
Method Detail

addButton

public void addButton(JButton button)
Add a button to the ButtonPanel.
Parameters:
button - The button to add.
See Also:
removeButton(javax.swing.JButton)

addButton

public void addButton(JButton button,
                      int pos)
               throws IllegalArgumentException
Add a button to the ButtonPanel at the specified position.
Parameters:
button - The button to add.
pos - The position at which to add the button. The value 0 denotes the first position, and -1 denotes the last position.
Throws:
IllegalArgumentException - If the value of pos is invalid.

removeButton

public void removeButton(JButton button)
Remove a button from the ButtonPanel.
Parameters:
button - The button to remove.
See Also:
addButton(javax.swing.JButton)

removeButton

public void removeButton(int pos)
Remove a button from the specified position in the ButtonPanel.
Parameters:
pos - The position of the button to remove, where 0 denotes the first position.

getButtonCount

public int getButtonCount()
Get the number of buttons in this ButtonPanel.
Returns:
The number of buttons.