The problem has to do with constructors. Remember that
Java requires ALL classes to have at least one constructor. If you don't define one, then Java will create a default constructor for you. And the first thing that every constructor does is invoke another constructor. If you don't explicitly invoke another constructor, Java will add a call to "super()". Finally, recall that constructors aren't inherited.
OK, with that said, look at the class:
By applying the above rules, Java converts this to:
It has created a default constructor which invokes the default parent constructor. But the parent class, "RoundGlyph", doesn't have a default constructor. So you get a cryptic error message when you try and compile it.
Either you have to create a default constructor in the "RoundGlyph" class, or you have to create a constructor in the "RoundGlyph_AAA" class which invokes the "super(int)" constructor.
[NOTE: Java doesn't make these changes to the source code, but will insert the changes into the ".class" file on successful compilation.]
Whew ... I hope that all makes sense.
[ December 11, 2003: Message edited by: Wayne L Johnson ]