You can use an attributed string with any text field, you just need to define the attribute to use and the range of the text you want to use it on. The new forum formatting bites even worse than before, so hopefully this survives Jive - the following example makes an attributable string from a regular AppleScript string by setting the words to one of the colors in an array:
# example - 'textField' would be a property connected to a text field
textField's setAttributedStringValue:rainbowize("red orange yellow green blue purple gray - colors start again")
# make an attributed string from an AppleScript string
# words of the string parameter are set to an array of colors
on rainbowize(someString)
set colorArray to {¬
current application's NSColor's redColor(), ¬
current application's NSColor's orangeColor(), ¬
current application's NSColor's yellowColor(), ¬
current application's NSColor's greenColor(), ¬
current application's NSColor's blueColor, ¬
current application's NSColor's purpleColor(), ¬
current application's NSColor's grayColor()}
set attributedString to current application's NSMutableAttributedString's alloc's initWithString:someString
set stringWords to words of someString -- just deal with the words
set wordColor to 1 -- current color index
set pointer to 1 -- current spot in the string to get word offsets
repeat with aWord in stringWords
set here to (offset of aWord in (text pointer thru -1 of someString)) - 1
set there to length of aWord
set pointer to pointer + here -- update to current word position
attributedString's addAttribute:(current application's NSForegroundColorAttributeName) value:(item wordColor of colorArray) range:{pointer - 1, there}
set pointer to pointer + (offset of " " in someString) -- update to get next word in the string
set wordColor to wordColor + 1
if wordColor > 7 then set wordColor to 1
end repeat
return attributedString
end rainbowize
EDIT: ack - it's even worse than I thought!
MacBook Pro / OS X Mavericks (10.9.3) / Xcode 5.1.1 / RubyMotion FTW