正方形の周長 #26
せっかく正方形の情報Squareの変更を通知する仕組みができあがっているのに、
これまでSquareParametersPane自体が正方形の情報を内部で生成、保持していた。
これを外部で生成し、SquareParametersPaneに与えられるようにすることで、
他のクラスからも正方形の情報を利用できるようにする。
SquareParametersPaneは正方形の情報を利用する一クラスの立場になる。
...snip public class SquareParametersPane extends JPanel { public SquareParametersPane() { this(new Square()); } public SquareParametersPane(Square params) { TField side = new TField(params, new Accessor() { public double get(Square s) { return s.getSide(); } public void set(Square s, double v) { s.setSide(v); } }); ...snip
利用するSquareインスタンスはコンストラクタへの引数として与えられるように変更する。
今までの使い方も行えるように引数なしのコンストラクタを呼び出せば、
新たにSquareインスタンスを生成して、引数ありのコンストラクタを呼び出すようにしている。
したがって、今までのソースはそのままで同じ動作をする。