44 lines
1.1 KiB
Java
44 lines
1.1 KiB
Java
import java.beans.PropertyChangeListener;
|
|
import java.beans.PropertyChangeSupport;
|
|
|
|
public class P12 {
|
|
private String name;
|
|
private int age;
|
|
private PropertyChangeSupport propertyChangeSupport;
|
|
|
|
public P12() {
|
|
propertyChangeSupport = new PropertyChangeSupport(this);
|
|
}
|
|
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
public void setName(String name) {
|
|
String oldName = this.name;
|
|
this.name = name;
|
|
propertyChangeSupport.firePropertyChange("name", oldName, name);
|
|
}
|
|
|
|
public int getAge() {
|
|
return age;
|
|
}
|
|
|
|
public void setAge(int age) {
|
|
if (age < 0) {
|
|
throw new IllegalArgumentException("Age cannot be negative");
|
|
}
|
|
int oldAge = this.age;
|
|
this.age = age;
|
|
propertyChangeSupport.firePropertyChange("age", oldAge, age);
|
|
}
|
|
|
|
public void addPropertyChangeListener(PropertyChangeListener listener) {
|
|
propertyChangeSupport.addPropertyChangeListener(listener);
|
|
}
|
|
|
|
public void removePropertyChangeListener(PropertyChangeListener listener) {
|
|
propertyChangeSupport.removePropertyChangeListener(listener);
|
|
}
|
|
}
|