Class StyledString

  • All Implemented Interfaces:
    CharSequence

    public class StyledString
    extends Object
    implements CharSequence
    A mutable string with styled ranges. All ranges mark substrings of the string and do not overlap. Styles are applied using instances of StyledString.Styler to compute the result of getStyleRanges(). The styled string can be built in the following two ways:
    • new strings with stylers can be appended
    • stylers can by applied to ranges of the existing string

    This class may be instantiated; it is not intended to be subclassed.

    Since:
    3.4
    • Constructor Detail

      • StyledString

        public StyledString()
        Creates an empty StyledString.
      • StyledString

        public StyledString​(String string)
        Creates an StyledString initialized with a string without a style associated.
        Parameters:
        string - the string
      • StyledString

        public StyledString​(String string,
                            StyledString.Styler styler)
        Creates an StyledString initialized with a string and a style.
        Parameters:
        string - the string
        styler - the styler for the string or null to not associated a styler.
    • Method Detail

      • createColorRegistryStyler

        public static StyledString.Styler createColorRegistryStyler​(String foregroundColorName,
                                                                    String backgroundColorName)
        Creates a styler that takes the given foreground and background colors from the JFace color registry.
        Parameters:
        foregroundColorName - the color name for the foreground color
        backgroundColorName - the color name for the background color
        Returns:
        the created style
      • length

        public int length()
        Returns the length of the string of this StyledString.
        Specified by:
        length in interface CharSequence
        Returns:
        the length of the current string
      • charAt

        public char charAt​(int index)
        Specified by:
        charAt in interface CharSequence
        Since:
        3.12
      • append

        public StyledString append​(String string)
        Appends a string to the StyledString. The appended string will have no associated styler.
        Parameters:
        string - the string to append
        Returns:
        returns a reference to this object
      • append

        public StyledString append​(char[] chars)
        Appends the string representation of the given character array to the StyledString. The appended character array will have no associated styler.
        Parameters:
        chars - the character array to append
        Returns:
        returns a reference to this object
      • append

        public StyledString append​(char ch)
        Appends the string representation of the given character to the StyledString. The appended character will have no associated styler.
        Parameters:
        ch - the character to append
        Returns:
        returns a reference to this object
      • append

        public StyledString append​(StyledString string)
        Appends a string with styles to the StyledString.
        Parameters:
        string - the string to append
        Returns:
        returns a reference to this object
      • append

        public StyledString append​(char ch,
                                   StyledString.Styler styler)
        Appends the string representation of the given character with a style to the StyledString. The appended character will have the given style associated.
        Parameters:
        ch - the character to append
        styler - the styler to use for styling the character to append or null if no styler should be associated with the appended character
        Returns:
        returns a reference to this object
      • append

        public StyledString append​(String string,
                                   StyledString.Styler styler)
        Appends a string with a style to the StyledString. The appended string will be styled using the given styler.
        Parameters:
        string - the string to append
        styler - the styler to use for styling the string to append or null if no styler should be associated with the appended string.
        Returns:
        returns a reference to this object
      • append

        public StyledString append​(char[] chars,
                                   StyledString.Styler styler)
        Appends the string representation of the given character array with a style to the StyledString. The appended character array will be styled using the given styler.
        Parameters:
        chars - the character array to append
        styler - the styler to use for styling the character array to append or null if no styler should be associated with the appended character array
        Returns:
        returns a reference to this object
      • insert

        public StyledString insert​(char ch,
                                   int offset)
                            throws StringIndexOutOfBoundsException
        Inserts the character at the given offset. The inserted character will get the styler that is already at the given offset.
        Parameters:
        ch - the character to insert
        offset - the insertion index
        Returns:
        returns a reference to this object
        Throws:
        StringIndexOutOfBoundsException - if offset is less than zero, or if offset is greater than the length of this object
        Since:
        3.5
      • setStyle

        public void setStyle​(int offset,
                             int length,
                             StyledString.Styler styler)
                      throws StringIndexOutOfBoundsException
        Sets a styler to use for the given source range. The range must be subrange of actual string of this StyledString. Stylers previously set for that range will be overwritten.
        Parameters:
        offset - the start offset of the range
        length - the length of the range
        styler - the styler to set
        Throws:
        StringIndexOutOfBoundsException - if start is less than zero, or if offset plus length is greater than the length of this object.
      • getStyleRanges

        public StyleRange[] getStyleRanges()
        Returns an array of StyleRange resulting from applying all associated stylers for this string builder.
        Returns:
        an array of all StyleRange resulting from applying the stored stylers to this string.