FileDocCategorySizeDatePackage
Multiplier.javaAPI DocExample1011Mon May 01 14:42:08 BST 2000magicbeans

Multiplier.java

//file: Multiplier.java
package magicbeans;
import java.beans.*;

public class Multiplier implements java.io.Serializable {
  private double a, b, c;

  synchronized public void setA( double val ) {
    a = val;
    multiply(  );
  }

  synchronized public double getA(  ) {
    return a;
  }

  synchronized public void setB( double val ) {
    b = val;
    multiply(  );
  }

  synchronized public double getB(  ) {
    return b;
  }

  synchronized public double getC(  ) {
    return c;
  }

  private void multiply(  ) {
    double oldC = c;
    c = a * b;
    propChanges.firePropertyChange(
      "c", new Double(oldC), new Double(c));
  }

  private PropertyChangeSupport propChanges =
      new PropertyChangeSupport(this);

  public void
  addPropertyChangeListener(PropertyChangeListener listener) {
    propChanges.addPropertyChangeListener(listener);
  }

  public void
  removePropertyChangeListener(PropertyChangeListener listener) {
    propChanges.removePropertyChangeListener(listener);
  }
}