showAt takes an
AttributedString, it might be surprising (and may cause existing UIs to render incorrectly) if the component overrode the colour set on this string. That being said, it does look like this was the original intention…
The AlertWindow case is a bit different, because the interface only accepts
String instances, so it’s completely reasonable to expect the box to render text using colours set in its LnF.
In the absense of a really compelling argument to modify BubbleMessageComponent, I think I’d recommend writing a tiny function which wraps
BubbleMessageComponent::showAt and which internally constructs an
AttributedString of an appropriate colour.