Some code that was added to javax.swing.JComponent.java in jdk 1.6.0 was
inadvertently left out of jdk 1.8.0.
The code corrected a problem by which as new property listeners are added,
and exponential recursive list of propertyListeners are no longer added.
Comparing JComponent.java from jdk 1.7.0.71 and jdk 1.8.0.40.0b19, the
following code is missing from the jdk 1.8.0 version:
diff command:
diff jdk7\JComponent.java jdk8\JComponent
yields:
3744,3747d3740
< if (accessibleFocusHandler == null) {
< accessibleFocusHandler = new AccessibleFocusHandler();
< JComponent.this.addFocusListener(accessibleFocusHandler);
< }
This code should appear at the beginning of the addPropertyChangeListener
method.
With this code missing, it renders JDeveloper unusable because of the exponential adding of propertyChangeListeners which eventually simply causes the jvm to stop working.