TabbedComponent Subclass drama

First of all, I was surprised to find that TabbedComponent isn’t constructed and painted with Look&Feel methods the way most other classes do. That’s fine, as long as I can subclass the thing.

But even just trying to override and tweak the paint() method is impossible, because the important member variables (tabDepth, outlineThickness, edgeIndent) are all private, and there’s no getter() methods for them.

Even more annoyingly, the setter methods like setOutline() are not virtual, so I can’t even override and use my own custom outlineThickness member.

If a class is not going to play the L&F game, it really ought to be properly set up for subclassing, with setters and getters and every method marked as virtual.

Unless I’m missing something…