Noob component/paint question

Hi all, I’m a newbie to interface work, so go easy :wink: . I wrote a VU meter inheriting juce::Component with functions SetValue() and Paint(), and I’ve created some instances of it in an Owned Array and added them to my GUI (addAndMakeVisible/SetBounds) in the editor’s constructor. Then in the timerCallback I call setValue(). Easy. Only problem is they’re not being painted clearly, as if they’re painted beneath a partially opaque background layer - there is a background layer but with an opacity of 1. Slider components show up fine. I’ve tried sending the background toBack(), bringing the vumeters toFront() and setAlwaysOnTop() but no difference.

All the above is being done inside a Viewport component, when I call the same VU meter outside the viewport in the parent editor it shows up just fine, on the same background, and I can’t see any difference in my approach! Any advice in what I may be doing wrong or tips on how to diagnose this kind of problem would be really helpful. Thanks.