Multiline Buttons

Someone recently asked about having the label of a radiobutton wrap onto more than one line. Maybe it just got lost in FlexCoders traffic because I’m sure others have already solved this, but I put together this version out of my own curiosity. The pattern can be re-used for Button and CheckBox as well. The usual caveats apply.
Download file
You’ll notice that I used “undocumented” methods to accomplish this, so it might break in some future release of Flex. However, this is really intended to be another example of subclassing and illustrate that by knowing the underlying base class you can usually tweak things the way you want them.
Now you may ask, why doesn’t this functionality come built-in with Flex? The answer is that text-flow is slow and doesn’t really work well with the Flex layout system. That’s because there really is no way to determine the size of a block of text unless it is only one line or has line-breaks in it or you know its width. In fact, to use this example, you need to specify the width of the radiobuttons, so it defines a width so we can calculate the height.
Here is a Flex 3 version:
Download Source
Run Example