Module java.desktop

Class SynthLookAndFeel

    • Method Detail

      • setStyleFactory

        public static void setStyleFactory​(SynthStyleFactory cache)
        Sets the SynthStyleFactory that the UI classes provided by synth will use to obtain a SynthStyle.
        Parameters:
        cache - SynthStyleFactory the UIs should use.
      • getStyleFactory

        public static SynthStyleFactory getStyleFactory()
        Returns the current SynthStyleFactory.
        Returns:
        SynthStyleFactory
      • getStyle

        public static SynthStyle getStyle​(JComponent c,
                                          Region region)
        Gets a SynthStyle for the specified region of the specified component. This is not for general consumption, only custom UIs should call this method.
        Parameters:
        c - JComponent to get the SynthStyle for
        region - Identifies the region of the specified component
        Returns:
        SynthStyle to use.
      • updateStyles

        public static void updateStyles​(Component c)
        Updates the style associated with c, and all its children. This is a lighter version of SwingUtilities.updateComponentTreeUI.
        Parameters:
        c - Component to update style for.
      • getRegion

        public static Region getRegion​(JComponent c)
        Returns the Region for the JComponent c.
        Parameters:
        c - JComponent to fetch the Region for
        Returns:
        Region corresponding to c
      • createUI

        public static ComponentUI createUI​(JComponent c)
        Creates the Synth look and feel ComponentUI for the passed in JComponent.
        Parameters:
        c - JComponent to create the ComponentUI for
        Returns:
        ComponentUI to use for c
      • load

        public void load​(InputStream input,
                         Class<?> resourceBase)
                  throws ParseException
        Loads the set of SynthStyles that will be used by this SynthLookAndFeel. resourceBase is used to resolve any path based resources, for example an Image would be resolved by resourceBase.getResource(path). Refer to Synth File Format for more information.
        Parameters:
        input - InputStream to load from
        resourceBase - used to resolve any images or other resources
        Throws:
        ParseException - if there is an error in parsing
        IllegalArgumentException - if input or resourceBase is null
      • load

        public void load​(URL url)
                  throws ParseException,
                         IOException
        Loads the set of SynthStyles that will be used by this SynthLookAndFeel. Path based resources are resolved relatively to the specified URL of the style. For example an Image would be resolved by new URL(synthFile, path). Refer to Synth File Format for more information.

        Whilst this API may be safe for loading local resources that are delivered with a LookAndFeel or application, and so have an equal level of trust with application code, using it to load from remote resources, particularly any which may have a lower level of trust, is strongly discouraged. The alternative mechanisms to load styles from an InputStream load(InputStream, Class) using resources co-located with the application or by providing a SynthStyleFactory to setStyleFactory(SynthStyleFactory) are preferred.

        Parameters:
        url - the URL to load the set of SynthStyle from
        Throws:
        ParseException - if there is an error in parsing
        IllegalArgumentException - if synthSet is null
        IOException - if synthSet cannot be opened as an InputStream
        Since:
        1.6
      • isNativeLookAndFeel

        public boolean isNativeLookAndFeel()
        Returns false, SynthLookAndFeel is not a native look and feel.
        Specified by:
        isNativeLookAndFeel in class LookAndFeel
        Returns:
        false
      • getDescription

        public String getDescription()
        Returns a textual description of SynthLookAndFeel.
        Specified by:
        getDescription in class LookAndFeel
        Returns:
        textual description of synth.
      • getName

        public String getName()
        Return a short string that identifies this look and feel.
        Specified by:
        getName in class LookAndFeel
        Returns:
        a short string identifying this look and feel.
      • getID

        public String getID()
        Return a string that identifies this look and feel.
        Specified by:
        getID in class LookAndFeel
        Returns:
        a short string identifying this look and feel.
      • shouldUpdateStyleOnAncestorChanged

        public boolean shouldUpdateStyleOnAncestorChanged()
        Returns whether or not the UIs should update their SynthStyles from the SynthStyleFactory when the ancestor of the JComponent changes. A subclass that provided a SynthStyleFactory that based the return value from getStyle off the containment hierarchy would override this method to return true.
        Returns:
        whether or not the UIs should update their SynthStyles from the SynthStyleFactory when the ancestor changed.
      • shouldUpdateStyleOnEvent

        protected boolean shouldUpdateStyleOnEvent​(PropertyChangeEvent ev)
        Returns whether or not the UIs should update their styles when a particular event occurs.
        Parameters:
        ev - a PropertyChangeEvent
        Returns:
        whether or not the UIs should update their styles
        Since:
        1.7