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.example;
24  
25  import javax.swing.JFrame;
26  
27  import de.desy.acop.displayers.AcopSpider;
28  
29  public class SpiderExample {
30  
31  	public static void main(String[] args) {
32  		
33  		//How to represent TINE connection errors with the spider?
34  		//First we create an instance of the AcopSpider object.
35  		AcopSpider spider = new AcopSpider();
36  		//and add it to your application GUI
37  		JFrame applicationFrame = new JFrame();
38  		applicationFrame.getContentPane().add(spider);
39  		//the spider should immediately start monitoring all TINE connections for any errors.
40  		
41  		//If the displayed spider size does not match the size of the spider icon, 
42  		//we can rescale the image to fit the size of the spider component
43  		spider.rescaleIconToFit();
44  		//or we can enable this t happen automatically whenever the spider component is resized
45  		spider.setAutoResize(true);
46  		
47  		//We can paint overlaid error notification signals over display components.
48  		//This feature can be enabled globally
49  		spider.setPaintOverlayDecorations(true);
50  		//or disabled
51  		spider.setPaintOverlayDecorations(false);
52  		
53  		//We can add errors, which occur during operations to the spider
54  		 Exception exception = new RuntimeException();
55  	   	 spider.addError(exception);
56  	   	 
57  		//we can check any time if there are any errors caught by the spider
58  		spider.isError();
59  	}
60  }