1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package debugTest;
24
25 import java.awt.Color;
26 import java.awt.GridBagConstraints;
27 import java.awt.GridBagLayout;
28 import java.awt.Insets;
29
30 import javax.swing.JFrame;
31 import javax.swing.JPanel;
32
33 import de.desy.acop.displayers.AcopChart;
34 import de.desy.acop.displayers.tools.AcopChartConsumer;
35
36 public class AcopDisplayerTest extends Object {
37
38 static class Updater extends Thread {
39 AcopChartConsumer c;
40 double[] data= new double[100];
41 int interval;
42 double offset = 0;
43 public Updater(AcopChartConsumer c, int i, double off) {
44 this.c=c;
45 interval=i;
46 offset = off;
47 start();
48 }
49
50
51
52 @Override
53 public synchronized void run() {
54 while(true) {
55 try {
56 for (int i = 0; i < data.length; i++) {
57 data[i]=offset + 100.0*Math.random();
58 }
59
60 c.updateValue(System.currentTimeMillis(),data);
61
62 sleep(interval);
63
64 } catch (Exception e) {
65 e.printStackTrace();
66 }
67 }
68 }
69 }
70
71
72 public AcopDisplayerTest() {
73 super();
74
75 }
76
77
78
79
80 public static void main(String[] args) {
81 try {
82
83 JFrame f= new JFrame();
84 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
85
86 JPanel p= new JPanel();
87 p.setLayout(new GridBagLayout());
88
89 AcopChart dis= new AcopChart();
90
91
92 dis.setYMin(-10.0);
93 dis.setYMax(110.0);
94
95 p.add(dis,new GridBagConstraints(0,0,1,1,1.0,1.0,GridBagConstraints.CENTER,GridBagConstraints.BOTH,new Insets(4,4,4,4),0,0));
96
97 f.setContentPane(p);
98 f.setSize(500,300);
99 f.setVisible(true);
100
101
102 AcopChartConsumer c= dis.getConsumer("A",AcopChartConsumer.class);
103 c.setColor(Color.RED);
104 new Updater(c,1000,0);
105
106
107 c= dis.getConsumer("B",AcopChartConsumer.class);
108 c.setColor(Color.BLUE);
109 new Updater(c,3000,20);
110
111 } catch (Exception e) {
112 e.printStackTrace();
113 }
114 }
115
116 }