1 package de.desy.acop.demo;
2
3 import java.awt.BorderLayout;
4 import java.awt.Color;
5
6 import javax.swing.JFrame;
7 import javax.swing.JPanel;
8
9 import de.desy.acop.chart.Acop;
10
11 public class ChartAxisDemo {
12
13 public static void main(String[] args) {
14 JFrame frame = new JFrame();
15 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
16
17
18 JPanel panel = new JPanel(new BorderLayout());
19
20 final Acop acop = new Acop();
21
22 acop.setSecondaryYAxisOn(true);
23 acop.setSecondaryYBestScale(false);
24 acop.setSecondaryYMax(1E-2);
25 acop.setSecondaryYMin(1E-12);
26 acop.setSecondaryYLogOn(true);
27 acop.setFrameRightOffset(30);
28
29 acop.setYMin(0);
30 acop.setYMax(500);
31 acop.setYBestScale(true);
32
33 panel.add(acop, BorderLayout.CENTER);
34 frame.setContentPane(panel);
35 frame.setSize(400,400);
36 frame.setVisible(true);
37
38
39
40 new Thread(new Runnable() {
41
42 @Override
43 public void run() {
44 try {
45 Thread.sleep(2000);
46 } catch (Exception e) {}
47 double[] data2 = new double[100];
48 double[] x2 = new double[100];
49 for (int i =0; i < data2.length; i++) {
50 data2[i] = Math.random()*1E-10 + 1E-10;
51 x2[i] = i;
52 }
53 acop.setForeground(Color.RED);
54 acop.setSecondaryYTickLabelColor(Color.RED);
55 int handle = acop.draw(data2,x2);
56 acop.bindToSecondaryYScale(handle,true);
57
58
59
60 try {
61 Thread.sleep(2000);
62 } catch (InterruptedException e) {
63
64 e.printStackTrace();
65 }
66 acop.SetZoom(true,true,true,true,100,0,0,500);
67 acop.setForeground(Color.BLACK);
68 double[] data = new double[100];
69 double[] x = new double[100];
70 for (int i =0; i < data.length; i++) {
71 data[i] = Math.random()*5 + 50;
72 x[i] = i;
73 }
74 handle = acop.draw(data,x);
75 acop.clearScreen(handle);
76
77 handle = acop.draw(data,x);
78 }
79 }).start();
80 }
81
82 }