Note the requirement to downcast the reference to the JButton extracted from the Vector. As I mentioned previously, because the references to the buttons are stored as Objects in a Vector, it is necessary to downcast them before they can be used. This is standard stuff and doesn't really relate to PLAF, but I'm including it for continuity. This code shows the beginning of an inner class used to instantiate the ActionListener objects. Note that this method is not being invoked on any specific object.
Some additional work is required later on to accomplish that.
Recall, however, that objects of this class are not intended for use in a stand-alone mode. He also provides Java consulting and onsite training for various companies in central Texas. Raise your Java development to the power of Ten.