KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > BrusselatorPlot


1 /*
2  * Copyright 2003, Franz-Josef Elmer, All rights reserved
3  */

4 import jcckit.GraphicsPlotCanvas;
5 import jcckit.data.DataPlot;
6 import jcckit.data.DataCurve;
7 import jcckit.data.DataPoint;
8 import jcckit.util.ConfigParameters;
9
10 import java.awt.event.*;
11
12 public class BrusselatorPlot extends GraphicsPlotCanvas {
13   private Brusselator _brusselator;
14
15   public BrusselatorPlot(ConfigParameters config, Brusselator brusselator) {
16     super(config);
17     _brusselator = brusselator;
18     brusselator.addActionListener(new ActionListener() {
19           public void actionPerformed(ActionEvent event) {
20             replot();
21           }
22         });
23     replot();
24   }
25
26   private void replot() {
27     DataPlot plot = new DataPlot();
28     DataCurve uCurve = new DataCurve("u");
29     DataCurve vCurve = new DataCurve("v");
30     double dx = _brusselator.getDx();
31     for (int i = 0, n = _brusselator.getNumberOfPoints(); i < n; i++) {
32       uCurve.addElement(new DataPoint(dx * i, _brusselator.getU(i)));
33       vCurve.addElement(new DataPoint(dx * i, _brusselator.getV(i)));
34     }
35     plot.addElement(uCurve);
36     plot.addElement(vCurve);
37     connect(plot);
38   }
39 }
40
Popular Tags