Class XPStyle


  • public class XPStyle
    extends java.lang.Object
    Implements Windows XP Styles for the Windows Look and Feel.
    Author:
    Leif Samuelsson
    • Method Detail

      • invalidateStyle

        public static void invalidateStyle()
        Static method for clearing the hashmap and loading the current XP style and theme
      • getXP

        public static XPStyle getXP()
        Get the singleton instance of this class
        Returns:
        the singleton instance of this class or null if XP styles are not active or if this is not Windows XP
      • isVista

        public static boolean isVista()
      • getString

        public java.lang.String getString​(java.awt.Component c,
                                          TMSchema.Part part,
                                          TMSchema.State state,
                                          TMSchema.Prop prop)
        Get a named String value from the current style
        Parameters:
        part - a Part
        state - a String
        prop - a String
        Returns:
        a String or null if key is not found in the current style

        This is currently only used by WindowsInternalFrameTitlePane for painting title foreground and can be removed when no longer needed

      • getInt

        public int getInt​(java.awt.Component c,
                          TMSchema.Part part,
                          TMSchema.State state,
                          TMSchema.Prop prop,
                          int fallback)
        Get a named int value from the current style
        Parameters:
        part - a Part
        Returns:
        an int or null if key is not found in the current style
      • getDimension

        public java.awt.Dimension getDimension​(java.awt.Component c,
                                               TMSchema.Part part,
                                               TMSchema.State state,
                                               TMSchema.Prop prop)
        Get a named Dimension value from the current style
        Returns:
        a Dimension or null if key is not found in the current style

        This is currently only used by WindowsProgressBarUI and the value should probably be cached there instead of here.

      • getPoint

        public java.awt.Point getPoint​(java.awt.Component c,
                                       TMSchema.Part part,
                                       TMSchema.State state,
                                       TMSchema.Prop prop)
        Get a named Point (e.g. a location or an offset) value from the current style
        Returns:
        a Point or null if key is not found in the current style

        This is currently only used by WindowsInternalFrameTitlePane for painting title foregound and can be removed when no longer needed

      • getMargin

        public java.awt.Insets getMargin​(java.awt.Component c,
                                         TMSchema.Part part,
                                         TMSchema.State state,
                                         TMSchema.Prop prop)
        Get a named Insets value from the current style
        Returns:
        an Insets object or null if key is not found in the current style

        This is currently only used to create borders and by WindowsInternalFrameTitlePane for painting title foregound. The return value is already cached in those places.

      • getColor

        public java.awt.Color getColor​(XPStyle.Skin skin,
                                       TMSchema.Prop prop,
                                       java.awt.Color fallback)
        Get a named Color value from the current style
        Returns:
        a Color or null if key is not found in the current style
      • getBorder

        public javax.swing.border.Border getBorder​(java.awt.Component c,
                                                   TMSchema.Part part)
        Get a named Border value from the current style
        Parameters:
        part - a Part
        Returns:
        a Border or null if key is not found in the current style or if the style for the particular part is not defined as "borderfill".
      • isSkinDefined

        public boolean isSkinDefined​(java.awt.Component c,
                                     TMSchema.Part part)
      • getSkin

        public XPStyle.Skin getSkin​(java.awt.Component c,
                                    TMSchema.Part part)
        Get a Skin object from the current style for a named part (component type)
        Parameters:
        part - a Part
        Returns:
        a Skin object