45 |
import java.awt.peer.ContainerPeer; |
import java.awt.peer.ContainerPeer; |
46 |
import java.awt.peer.LightweightPeer; |
import java.awt.peer.LightweightPeer; |
47 |
import java.beans.PropertyChangeListener; |
import java.beans.PropertyChangeListener; |
48 |
|
import java.beans.PropertyChangeSupport; |
49 |
import java.io.PrintStream; |
import java.io.PrintStream; |
50 |
import java.io.PrintWriter; |
import java.io.PrintWriter; |
51 |
import java.io.Serializable; |
import java.io.Serializable; |
90 |
|
|
91 |
/* Anything else is non-serializable, and should be declared "transient". */ |
/* Anything else is non-serializable, and should be declared "transient". */ |
92 |
transient ContainerListener containerListener; |
transient ContainerListener containerListener; |
93 |
|
transient PropertyChangeSupport changeSupport; |
94 |
|
|
95 |
/** |
/** |
96 |
* Default constructor for subclasses. |
* Default constructor for subclasses. |
1127 |
throw new NullPointerException (); |
throw new NullPointerException (); |
1128 |
} |
} |
1129 |
|
|
1130 |
public void addPropertyChangeListener(PropertyChangeListener l) |
public void addPropertyChangeListener (PropertyChangeListener listener) |
1131 |
{ |
{ |
1132 |
|
if (listener == null) |
1133 |
|
return; |
1134 |
|
|
1135 |
|
if (changeSupport == null) |
1136 |
|
changeSupport = new PropertyChangeSupport (this); |
1137 |
|
|
1138 |
|
changeSupport.addPropertyChangeListener (listener); |
1139 |
} |
} |
1140 |
|
|
1141 |
public void addPropertyChangeListener(String name, PropertyChangeListener l) |
public void addPropertyChangeListener (String name, |
1142 |
|
PropertyChangeListener listener) |
1143 |
{ |
{ |
1144 |
|
if (listener == null) |
1145 |
|
return; |
1146 |
|
|
1147 |
|
if (changeSupport == null) |
1148 |
|
changeSupport = new PropertyChangeSupport (this); |
1149 |
|
|
1150 |
|
changeSupport.addPropertyChangeListener (name, listener); |
1151 |
} |
} |
1152 |
|
|
1153 |
// Hidden helper methods. |
// Hidden helper methods. |