Class LookAndFeelManager

java.lang.Object
generic.theme.laf.LookAndFeelManager
Direct Known Subclasses:
FlatLookAndFeelManager, GtkLookAndFeelManager, MacLookAndFeelManager, MetalLookAndFeelManager, MotifLookAndFeelManager, NimbusLookAndFeelManager, WindowsClassicLookAndFeelManager, WindowsLookAndFeelManager

public abstract class LookAndFeelManager extends Object
Manages installing and updating a LookAndFeel
  • Field Details

  • Constructor Details

  • Method Details

    • getLookAndFeelType

      public LafType getLookAndFeelType()
      Returns the LafType managed by this manager.
      Returns:
      the LafType
    • installLookAndFeel

      Installs the LookAndFeel
      Throws:
      ClassNotFoundException - if the LookAndFeel class could not be found
      InstantiationException - if a new instance of the class couldn't be created
      IllegalAccessException - if the class or initializer isn't accessible
      UnsupportedLookAndFeelException - if lnf.isSupportedLookAndFeel() is false
    • resetAll

      public void resetAll(GThemeValueMap javaDefaults)
      Called when all colors, fonts, and icons may have changed
      Parameters:
      javaDefaults - the current set of java defaults so that those ids can be updated special as needed by the current LookAndFeel
    • updateAllRegisteredComponentFonts

      protected void updateAllRegisteredComponentFonts()
    • colorsChanged

      public void colorsChanged()
      Called when one or more colors have changed.
    • iconsChanged

      public void iconsChanged(Set<String> changedIconIds, Icon newIcon)
      Called when one or more icons have changed.
      Parameters:
      changedIconIds - set of icon ids affected by this icon change
      newIcon - the new icon to use for the given set of icon ids
    • fontsChanged

      public void fontsChanged(Set<String> changedJavaFontIds)
      Called when one or more fonts have changed.
      Parameters:
      changedJavaFontIds - the set of Java Font ids that are affected by this change
    • updateComponentUis

      protected void updateComponentUis()
    • repaintAll

      protected void repaintAll()
    • registerFont

      public void registerFont(Component component, String fontId)
      Binds the component to the font identified by the given font id. Whenever the font for the font id changes, the component will be updated with the new font.
      Parameters:
      component - the component to set/update the font
      fontId - the id of the font to register with the given component
    • doInstallLookAndFeel

      Subclasses may override this method to install a specific look and feel.
      Throws:
      ClassNotFoundException - if the LookAndFeel class could not be found
      InstantiationException - if a new instance of the class couldn't be created
      IllegalAccessException - if the class or initializer isn't accessible
      UnsupportedLookAndFeelException - if lnf.isSupportedLookAndFeel() is false
    • fixupLookAndFeelIssues

      protected void fixupLookAndFeelIssues()
      Subclass may override this method to do specific LookAndFeel fix ups
    • processJavaDefaults

      protected void processJavaDefaults()
      Extracts java default colors, fonts, and icons and stores them in the ThemeManager and updates the UIDefaults by installing GColors for all color values and installing any overridden fonts or icons.
    • getUiDefaultsMapper

      protected abstract UiDefaultsMapper getUiDefaultsMapper(UIDefaults defaults)
    • findLookAndFeelClassName

      protected String findLookAndFeelClassName(String lookAndFeelName)
    • isSupported

      protected boolean isSupported(String lookAndFeelName)
    • setKeyBinding

      protected void setKeyBinding(String existingKsText, String newKsText, String[] prefixValues)
    • getLookAndFeelIdsForType

      public static List<String> getLookAndFeelIdsForType(UIDefaults defaults, Class<?> clazz)
      Searches the given UIDefaults for ids whose value matches the given class
      Parameters:
      defaults - the UIDefaults to search
      clazz - the value class to look for (i.e., Color, Font, or Icon)
      Returns:
      the list of ids whose value is of the given class type.