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 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
- Author:
- Amy Fowler, Noel Grandin
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested 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_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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 TypeMethodDescriptionvoidYou can use this method to manually add your own AbstractButton objects, provided you declared the class asJXRadioGroup<JRadioButton>.voidAdds anActionListener.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().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.The 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 javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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
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:
-