Class ResourcefulBox

All Implemented Interfaces:
dev.javai18n.core.Localizable.LocaleEventListener, dev.javai18n.core.Resourceful, ImageObserver, MenuContainer, Serializable, EventListener, Accessible

public class ResourcefulBox extends Box implements dev.javai18n.core.Resourceful, dev.javai18n.core.Localizable.LocaleEventListener
A Box that participates in locale change events, updating its accessible metadata, font, and name whenever the application locale changes.

Use BoxLayout.X_AXIS or BoxLayout.Y_AXIS (and the line/page equivalents) as the axis argument to the factory methods.

See Also:
  • Constructor Details

    • ResourcefulBox

      protected ResourcefulBox(dev.javai18n.core.Resource resource, int axis)
      Constructs a Box bound to the given resource and layout axis.
      Parameters:
      resource - The resource identifying the locale source and bundle key.
      axis - The layout axis — one of BoxLayout.X_AXIS, BoxLayout.Y_AXIS, BoxLayout.LINE_AXIS, or BoxLayout.PAGE_AXIS.
  • Method Details

    • create

      public static ResourcefulBox create(dev.javai18n.core.Resource resource, int axis)
      Create a ResourcefulBox with the specified Resource and layout axis.
      Parameters:
      resource - A Resource containing a JComponentPropertyBundle.
      axis - The layout axis — one of BoxLayout.X_AXIS, BoxLayout.Y_AXIS, BoxLayout.LINE_AXIS, or BoxLayout.PAGE_AXIS.
      Returns:
      A ResourcefulBox 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:
      processLocaleEvent in interface dev.javai18n.core.Localizable.LocaleEventListener
    • getResource

      public dev.javai18n.core.Resource getResource()
      Specified by:
      getResource in interface dev.javai18n.core.Resourceful
    • setResource

      public void setResource(dev.javai18n.core.Resource resource)
      Specified by:
      setResource in interface dev.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.