From what I see, a PropertyChangeEvent is fired whenever a property is changed in a Swing component. I assume that there is a convention that the property name from the event must be the same with that of the component field that is changed. If so, is this convention useful somewhere?
When the border is changed, by means of setBorder, then firePropertyChange("border", oldBorder, border) is called.
Can anybody tell me why the names of properties are not declared as string constants of the component class? For the border example it could be something like JComponent.BORDER_PROPERTY_NAME.