String is a final class

There are so many places where the ability to add extra information or functionality to a String would be useful, especially (but not only) in the name of a java.awt.Component. String is a final class, whcih means that no class extending it is allowed.

There is no possible solution to this. You would have to define a new class that has a String inside it as a member, and provides a pass-through interface for all the usual String methods. You could then add your own new methods or extra members. But, this new class would not be compatible with String, so would have very limited utility. You couldn't use it as the name of a Component for instance.