1 /*
2 * Copyright (c) 2006 Stiftung Deutsches Elektronen-Synchroton,
3 * Member of the Helmholtz Association, (DESY), HAMBURG, GERMANY.
4 *
5 * THIS SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "../AS IS" BASIS.
6 * WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED
7 * TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSE AND
8 * NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
9 * FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
10 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
11 * THE USE OR OTHER DEALINGS IN THE SOFTWARE. SHOULD THE SOFTWARE PROVE DEFECTIVE
12 * IN ANY RESPECT, THE USER ASSUMES THE COST OF ANY NECESSARY SERVICING, REPAIR OR
13 * CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE.
14 * NO USE OF ANY SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
15 * DESY HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
16 * OR MODIFICATIONS.
17 * THE FULL LICENSE SPECIFYING FOR THE SOFTWARE THE REDISTRIBUTION, MODIFICATION,
18 * USAGE AND OTHER RIGHTS AND OBLIGATIONS IS INCLUDED WITH THE DISTRIBUTION OF THIS
19 * PROJECT IN THE FILE LICENSE.HTML. IF THE LICENSE IS NOT INCLUDED YOU MAY FIND A COPY
20 * AT HTTP://WWW.DESY.DE/LEGAL/LICENSE.HTM
21 */
22
23 package de.desy.acop.demo;
24
25 import java.awt.BorderLayout;
26 import javax.swing.JPanel;
27 import javax.swing.JFrame;
28 import de.desy.acop.displayers.AcopChart;
29 import de.desy.acop.displayers.tools.AcopGraphParameters;
30 import de.desy.acop.transport.ConnectionParameters;
31 import de.desy.acop.transport.AccessMode;
32
33 /**
34 * Acop Chart simple demo.
35 * @author Igor Kriznar (igor.kriznarATcosylab.com)
36 *
37 */
38 public class ChartPersistenceDemo extends JFrame {
39
40 private JPanel jContentPane = null;
41 private AcopChart acopChart = null;
42
43 /**
44 * This method initializes acopChart
45 *
46 * @return de.desy.acop.displayers.AcopChart
47 */
48 private AcopChart getAcopChart() {
49 if (acopChart == null) {
50 try {
51 acopChart = new AcopChart();
52
53 acopChart.setXMax(11);
54 acopChart.setXMin(0);
55
56 new Thread(new Runnable(){
57 public void run() {
58 double[] x = new double[]{1,2,3,4,5,6,7,8,9,10};
59 double[] y = new double[]{5,6,2,6,2,7,8,2,6,2};
60 acopChart.draw(y,x);
61 while (true) {
62 try {
63 Thread.sleep(1000);
64 } catch (Exception e) {
65 e.printStackTrace();
66 }
67 for (int i = 0; i < y.length; i++) {
68 y[i] = Math.random()*10;
69 }
70 acopChart.draw(y, x);
71 acopChart.clearScreen(-1, 3);
72
73 }
74 }
75 }).start();
76 } catch (java.lang.Throwable e) {
77 e.printStackTrace();
78 }
79 }
80 return acopChart;
81 }
82
83 /**
84 * @param args
85 */
86 public static void main(String[] args) {
87 ChartPersistenceDemo d= new ChartPersistenceDemo();
88 d.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
89 d.setVisible(true);
90 }
91
92 /**
93 * This is the default constructor
94 */
95 public ChartPersistenceDemo() {
96 super();
97 initialize();
98 }
99
100 /**
101 * This method initializes this
102 *
103 * @return void
104 */
105 private void initialize() {
106 this.setSize(300, 200);
107 this.setContentPane(getJContentPane());
108 this.setTitle("JFrame");
109 }
110
111 /**
112 * This method initializes jContentPane
113 *
114 * @return javax.swing.JPanel
115 */
116 private JPanel getJContentPane() {
117 if (jContentPane == null) {
118 jContentPane = new JPanel();
119 jContentPane.setLayout(new BorderLayout());
120 jContentPane.add(getAcopChart(), java.awt.BorderLayout.CENTER); // Generated
121 }
122 return jContentPane;
123 }
124
125 }