20 import ca.uqac.lif.cep.Connector;
21 import ca.uqac.lif.cep.GroupProcessor;
22 import ca.uqac.lif.cep.functions.ApplyFunction;
23 import ca.uqac.lif.cep.mtnp.DrawPlot;
24 import ca.uqac.lif.cep.mtnp.UpdateTableStream;
25 import ca.uqac.lif.cep.tmf.Pump;
26 import ca.uqac.lif.cep.widgets.ToImageIcon;
27 import ca.uqac.lif.cep.widgets.WidgetSink;
28 import ca.uqac.lif.mtnp.plot.gral.Scatterplot;
29 import java.awt.FlowLayout;
30 import javax.swing.JFrame;
31 import javax.swing.JLabel;
32 import javax.swing.JPanel;
36 protected Pump m_pump;
38 protected JFrame m_frame;
43 UpdateTableStream uts =
new UpdateTableStream(col_names);
44 for (
int i = 0; i < col_names.length; i++)
46 associateInput(i, uts, i);
48 DrawPlot plot =
new DrawPlot(
new Scatterplot());
49 Connector.connect(uts, plot);
50 ApplyFunction to_icon =
new ApplyFunction(ToImageIcon.instance);
51 Connector.connect(plot, to_icon);
53 Connector.connect(to_icon, m_pump);
56 m_frame =
new JFrame(
"My plot");
57 JPanel panel =
new JPanel(
new FlowLayout(FlowLayout.CENTER));
59 m_frame.setSize(800, 600);
60 m_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
61 JLabel label =
new JLabel();
63 WidgetSink sink =
new WidgetSink(label);
64 Connector.connect(m_pump, sink);
65 addProcessors(uts, plot, to_icon, m_pump, sink);
71 m_frame.setVisible(
true);