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  					// TODO Auto-generated catch block
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  }