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 asJRadioButtonobjects, 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
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate JXRadioGroup<T>.ActionSelectionListenerprivate ButtonGroupprivate static final longFields inherited from class JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface 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 TypeMethodDescriptionvoidYou can use this method to manually add your own AbstractButton objects, provided you declared the class asJXRadioGroup<JRadioButton>.voidAdds anActionListener.private voidaddButton(AbstractButton button) private voidclearAll()static <T> JXRadioGroup<T> create(T[] radioValues) Convenience factory method.protected voidNotifies all listeners that have registered interest for notification on this event type.Returns an array of all theActionListeners added to this JRadioGroup with addActionListener().private AbstractButton[]getChildButton(int index) Retrieve the child button by index.getChildButton(T value) Retrieve the child button that represents this value.intGet the number of child buttons.Gets the currently selected button.private intThe currently selected value.voidRemoves anActionListener.voidsetEnabled(boolean enabled) Enable/disable all of the child buttonsvoidsetLayoutAxis(int axis) Set the layout axis of the radio group.voidsetSelectedValue(T value) Selects the supplied value.voidSets the values backing this group.Methods inherited from class JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class 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, updateMethods inherited from class 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, validateTreeMethods inherited from class 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
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
buttonGroup
-
values
-
actionHandler
-
-
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
-
clearAll
private void clearAll() -
add
You can use this method to manually add your own AbstractButton objects, provided you declared the class asJXRadioGroup<JRadioButton>. -
addButton
-
getSelectedButton
Gets the currently selected button.- Returns:
- the currently selected button
- See Also:
-
getButtonComponents
-
getSelectedIndex
private int getSelectedIndex() -
getSelectedValue
-
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
ActionListenerwill receive anActionEventwhen a selection has been made.- Parameters:
l- theActionListenerthat is to be notified- See Also:
-
removeActionListener
Removes anActionListener.- Parameters:
l- theActionListenerto remove
-
getActionListeners
Returns an array of all theActionListeners added to this JRadioGroup with addActionListener().- Returns:
- all of the
ActionListeners 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:
setEnabledin classJComponent- See Also:
-