Package ca.cgjennings.ui
Class JRepeaterButton
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.AbstractButton
-
- javax.swing.JButton
-
- ca.cgjennings.ui.JRepeaterButton
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.ItemSelectable
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.SwingConstants
public class JRepeaterButton extends javax.swing.JButton
A button that generates action events as long as it is held down.- Author:
- Chris Jennings
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JButton
javax.swing.JButton.AccessibleJButton
-
Nested classes/interfaces inherited from class javax.swing.AbstractButton
javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PRESSED_COMMAND
An action event with this command is fired when the button is first pressed.static java.lang.String
RELEASE_COMMAND
If the button is set to fire an event on release, an action event with this command is fired when the button is released.static java.lang.String
REPEAT_COMMAND
An action event with this command is fired for each repeat as the button is held down.-
Fields inherited from class javax.swing.AbstractButton
actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description JRepeaterButton()
Creates a button with no set text or icon.JRepeaterButton(java.lang.String text)
Creates a button with text.JRepeaterButton(java.lang.String text, javax.swing.Icon icon)
Creates a button with initial text and an icon.JRepeaterButton(javax.swing.Action a)
Creates a button where properties are taken from theAction
supplied.JRepeaterButton(javax.swing.Icon icon)
Creates a button with an icon.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
fireActionPerformed(java.awt.event.ActionEvent event)
int
getDelayDecay()
Return the number of ms by which the delay is reduced after each repeat until the minimum delay is reached.boolean
getFireEventOnRelease()
Returnstrue
if the button will fire an action command when the button is released.int
getMinimumDelay()
Return the minimum delay, in ms, before a repeat is fired.int
getRepeatCount()
If the button is currently held down, return the number of repeats that have occurred so far.int
getRepeatDelay()
Return the initial delay (in ms) between repeat events while the button is pressed.void
setDelayDecay(int delayDecay)
Set the number of ms by which the delay is reduced after each repeat until the minimum delay is reached.void
setFireEventOnRelease(boolean fireEvent)
Sets whether the button fires an action event with the command stringRELEASE_COMMAND
when the button is released.void
setMinimumDelay(int minimumDelay)
The delay from button press until the first repeat is fired is thegetRepeatDelay()
.void
setRepeatDelay(int delay)
Set the initial delay (in ms) between repeat events while the button is pressed.-
Methods inherited from class javax.swing.JButton
getAccessibleContext, getUIClassID, isDefaultButton, isDefaultCapable, paramString, removeNotify, setDefaultCapable, updateUI
-
Methods inherited from class javax.swing.AbstractButton
actionPropertyChanged, addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, configurePropertiesFromAction, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, doClick, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, init, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, isSelected, paintBorder, removeActionListener, removeChangeListener, removeItemListener, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setEnabled, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setModel, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelected, setSelectedIcon, setText, setUI, setVerticalAlignment, setVerticalTextPosition
-
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, 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, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
PRESSED_COMMAND
public static final java.lang.String PRESSED_COMMAND
An action event with this command is fired when the button is first pressed.- See Also:
- Constant Field Values
-
REPEAT_COMMAND
public static final java.lang.String REPEAT_COMMAND
An action event with this command is fired for each repeat as the button is held down.- See Also:
- Constant Field Values
-
RELEASE_COMMAND
public static final java.lang.String RELEASE_COMMAND
If the button is set to fire an event on release, an action event with this command is fired when the button is released.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JRepeaterButton
public JRepeaterButton()
Creates a button with no set text or icon.
-
JRepeaterButton
public JRepeaterButton(javax.swing.Icon icon)
Creates a button with an icon.- Parameters:
icon
- the Icon image to display on the button
-
JRepeaterButton
public JRepeaterButton(java.lang.String text)
Creates a button with text.- Parameters:
text
- the text of the button
-
JRepeaterButton
public JRepeaterButton(javax.swing.Action a)
Creates a button where properties are taken from theAction
supplied.- Parameters:
a
- theAction
used to specify the new button
-
JRepeaterButton
public JRepeaterButton(java.lang.String text, javax.swing.Icon icon)
Creates a button with initial text and an icon.- Parameters:
text
- the text of the buttonicon
- the Icon image to display on the button
-
-
Method Detail
-
getRepeatCount
public int getRepeatCount()
If the button is currently held down, return the number of repeats that have occurred so far. Otherwise, returns 0.
-
setRepeatDelay
public void setRepeatDelay(int delay)
Set the initial delay (in ms) between repeat events while the button is pressed.
-
getRepeatDelay
public int getRepeatDelay()
Return the initial delay (in ms) between repeat events while the button is pressed.
-
getDelayDecay
public int getDelayDecay()
Return the number of ms by which the delay is reduced after each repeat until the minimum delay is reached.
-
setDelayDecay
public void setDelayDecay(int delayDecay)
Set the number of ms by which the delay is reduced after each repeat until the minimum delay is reached.
-
getMinimumDelay
public int getMinimumDelay()
Return the minimum delay, in ms, before a repeat is fired.
-
setMinimumDelay
public void setMinimumDelay(int minimumDelay)
The delay from button press until the first repeat is fired is thegetRepeatDelay()
. After each subsequent repeat, the delay is reduced bygetDelayDecay()
until it reachesgetMinimumDelay()
.
-
setFireEventOnRelease
public void setFireEventOnRelease(boolean fireEvent)
Sets whether the button fires an action event with the command stringRELEASE_COMMAND
when the button is released. Default isfalse
.- Parameters:
fireEvent
- iftrue
, a final event will be posted when the user releases the button
-
getFireEventOnRelease
public boolean getFireEventOnRelease()
Returnstrue
if the button will fire an action command when the button is released.- Returns:
true
if the event will be fired
-
fireActionPerformed
protected void fireActionPerformed(java.awt.event.ActionEvent event)
- Overrides:
fireActionPerformed
in classjavax.swing.AbstractButton
-
-