Package org.jdesktop.swingx
Class JXRadioGroup<T>
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.jdesktop.swingx.JXRadioGroup<T>
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
JXRadioGroup
is a group of radio buttons that functions as a unit. It
is similar in concept to a JComboBox
in functionality, but can offer
a better presentation for a small number of choices. JXRadioGroup
should be used in preference to JComboBox
when the number of choices
is small (less than six) or the choices are verbose.
Notes:
- Enabling and disabling the JXRadioGroup will enable/disable all of the child buttons inside the JXRadioGroup.
-
If the generic type parameter of JXRadioGroup is a subclass of
AbstractButton
, then the buttons will be added "as is" to the container. If the generic type is anything else, buttons will be created asJRadioButton
objects, and the button text will be set by calling toString() on the value object. -
Alternatively, if you want to configure the buttons individually, construct
the JXRadioGroup normally, and then call
getChildButton(int)
orgetChildButton(Object)
and configure the buttons.
TODO back with a model (possibly reuse of extend ComboBoxModel
- Version:
- 1.0
- Author:
- Amy Fowler, Noel Grandin
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
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
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorsConstructorDescriptionCreate a default JXRadioGroup with a default layout axis ofBoxLayout.X_AXIS
.JXRadioGroup
(T[] radioValues) Create a default JXRadioGroup with a default layout axis ofBoxLayout.X_AXIS
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
You can use this method to manually add your own AbstractButton objects, provided you declared the class asJXRadioGroup<JRadioButton>
.void
Adds anActionListener
.static <T> JXRadioGroup<T>
create
(T[] radioValues) Convenience factory method.protected void
Notifies all listeners that have registered interest for notification on this event type.Returns an array of all theActionListener
s added to this JRadioGroup with addActionListener().getChildButton
(int index) Retrieve the child button by index.getChildButton
(T value) Retrieve the child button that represents this value.int
Get the number of child buttons.Gets the currently selected button.The currently selected value.void
Removes anActionListener
.void
setEnabled
(boolean enabled) Enable/disable all of the child buttonsvoid
setLayoutAxis
(int axis) Set the layout axis of the radio group.void
setSelectedValue
(T value) Selects the supplied value.void
Sets the values backing this group.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, 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, 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, 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, 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, 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
-
Constructor Details
-
JXRadioGroup
public JXRadioGroup()Create a default JXRadioGroup with a default layout axis ofBoxLayout.X_AXIS
. -
JXRadioGroup
Create a default JXRadioGroup with a default layout axis ofBoxLayout.X_AXIS
.- Parameters:
radioValues
- the list of values used to create the group.
-
-
Method Details
-
create
Convenience factory method. Reduces code clutter when dealing with generics.- Parameters:
radioValues
- the list of values used to create the group.
-
setLayoutAxis
public void setLayoutAxis(int axis) Set the layout axis of the radio group.- Parameters:
axis
- values fromBoxLayout
.
-
setValues
Sets the values backing this group. This replaces the current set of values with the new set.- Parameters:
radioValues
- the new backing values for this group
-
add
You can use this method to manually add your own AbstractButton objects, provided you declared the class asJXRadioGroup<JRadioButton>
. -
getSelectedButton
Gets the currently selected button.- Returns:
- the currently selected button
- See Also:
-
getSelectedValue
The currently selected value.- Returns:
- the current value
-
setSelectedValue
Selects the supplied value.- Parameters:
value
- the value to select
-
getChildButton
Retrieve the child button by index. -
getChildButton
Retrieve the child button that represents this value. -
getChildButtonCount
public int getChildButtonCount()Get the number of child buttons. -
addActionListener
Adds anActionListener
.The
ActionListener
will receive anActionEvent
when a selection has been made.- Parameters:
l
- theActionListener
that is to be notified- See Also:
-
removeActionListener
Removes anActionListener
.- Parameters:
l
- theActionListener
to remove
-
getActionListeners
Returns an array of all theActionListener
s added to this JRadioGroup with addActionListener().- Returns:
- all of the
ActionListener
s added or an empty array if no listeners have been added
-
fireActionEvent
Notifies all listeners that have registered interest for notification on this event type.- Parameters:
e
- the event to pass to the listeners- See Also:
-
setEnabled
public void setEnabled(boolean enabled) Enable/disable all of the child buttons- Overrides:
setEnabled
in classJComponent
- See Also:
-