Class ResourcefulJSpinner
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JSpinner
dev.javai18n.swing.ResourcefulJSpinner
- All Implemented Interfaces:
dev.javai18n.core.Localizable.LocaleEventListener, dev.javai18n.core.Resourceful, ImageObserver, MenuContainer, Serializable, EventListener, Accessible
public class ResourcefulJSpinner
extends JSpinner
implements dev.javai18n.core.Resourceful, dev.javai18n.core.Localizable.LocaleEventListener
A JSpinner that participates in locale change events.
On locale change, this component updates its locale, accessible name, accessible description,
tooltip, font, and component name from the resource bundle, then calls revalidate() and
repaint() to trigger re-rendering of the embedded editor field. Because
JSpinner.DateEditor and JSpinner.NumberEditor carry locale-specific format
patterns baked into their formatters at construction time, callers that need the spinner's
display format to switch locale should install a new editor in their own
Localizable.LocaleEventListener registered on the same source.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class JSpinner
JSpinner.AccessibleJSpinner, JSpinner.DateEditor, JSpinner.DefaultEditor, JSpinner.ListEditor, JSpinner.NumberEditorNested 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
Fields 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
ConstructorsModifierConstructorDescriptionprotectedResourcefulJSpinner(dev.javai18n.core.Resource resource) Constructs a JSpinner bound to the given resource with a default spinner model.protectedResourcefulJSpinner(dev.javai18n.core.Resource resource, SpinnerModel model) Constructs a JSpinner bound to the given resource and spinner model. -
Method Summary
Modifier and TypeMethodDescriptionstatic ResourcefulJSpinnercreate(dev.javai18n.core.Resource resource) Create a ResourcefulJSpinner with the specified Resource and default spinner model.static ResourcefulJSpinnercreate(dev.javai18n.core.Resource resource, SpinnerModel model) Create a ResourcefulJSpinner with the specified Resource and SpinnerModel.voiddispose()Unregister this component as a locale-event listener on its resource's source.dev.javai18n.core.Resourceprotected final voidRegisters this component as a locale-event listener on its resource source and applies the initial locale-specific values from the resource bundle.voidprocessLocaleEvent(dev.javai18n.core.Localizable.LocaleEvent event) voidsetResource(dev.javai18n.core.Resource resource) protected voidApplies locale-specific values from the associated resource bundle to this component.Methods inherited from class JSpinner
addChangeListener, commitEdit, createEditor, fireStateChanged, getAccessibleContext, getChangeListeners, getEditor, getModel, getNextValue, getPreviousValue, getUI, getUIClassID, getValue, removeChangeListener, setEditor, setModel, setUI, setValue, 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, paramString, 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, setEnabled, 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
-
Constructor Details
-
ResourcefulJSpinner
protected ResourcefulJSpinner(dev.javai18n.core.Resource resource) Constructs a JSpinner bound to the given resource with a default spinner model.- Parameters:
resource- The resource identifying the locale source and bundle key.
-
ResourcefulJSpinner
Constructs a JSpinner bound to the given resource and spinner model.- Parameters:
resource- The resource identifying the locale source and bundle key.model- The SpinnerModel to use.
-
-
Method Details
-
create
Create a ResourcefulJSpinner with the specified Resource and default spinner model.- Parameters:
resource- A Resource containing a JComponentPropertyBundle.- Returns:
- A ResourcefulJSpinner registered to listen to LocaleEvents from the resource's source.
-
create
Create a ResourcefulJSpinner with the specified Resource and SpinnerModel.- Parameters:
resource- A Resource containing a JComponentPropertyBundle.model- The SpinnerModel to use.- Returns:
- A ResourcefulJSpinner registered to listen to LocaleEvents from the resource's source.
-
initialize
protected final void initialize()Registers this component as a locale-event listener on its resource source and applies the initial locale-specific values from the resource bundle. -
updateLocaleSpecificValues
protected void updateLocaleSpecificValues()Applies locale-specific values from the associated resource bundle to this component. -
processLocaleEvent
public void processLocaleEvent(dev.javai18n.core.Localizable.LocaleEvent event) - Specified by:
processLocaleEventin interfacedev.javai18n.core.Localizable.LocaleEventListener
-
getResource
public dev.javai18n.core.Resource getResource()- Specified by:
getResourcein interfacedev.javai18n.core.Resourceful
-
setResource
public void setResource(dev.javai18n.core.Resource resource) - Specified by:
setResourcein interfacedev.javai18n.core.Resourceful
-
dispose
public void dispose()Unregister this component as a locale-event listener on its resource's source. Call this when the component is being permanently discarded so that it does not accumulate in the source's listener list.
-