EMMA Coverage Report (generated Tue May 18 22:20:04 CDT 2004)
[all classes][default package]

COVERAGE SUMMARY FOR SOURCE FILE [DemoModule.java]

nameclass, %method, %block, %line, %
DemoModule.java100% (1/1)79%  (15/19)78%  (373/477)78%  (78/100)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class DemoModule100% (1/1)79%  (15/19)78%  (373/477)78%  (78/100)
DemoModule (SwingSet2): void 0%   (0/1)0%   (0/6)0%   (0/2)
init (): void 0%   (0/1)0%   (0/13)0%   (0/3)
main (String []): void 0%   (0/1)0%   (0/8)0%   (0/3)
mainImpl (): void 0%   (0/1)0%   (0/33)0%   (0/7)
createImageIcon (String, String): ImageIcon 100% (1/1)33%  (9/27)50%  (2/4)
getString (String): String 100% (1/1)59%  (22/37)70%  (7/10)
loadSourceCode (): void 100% (1/1)89%  (86/97)89%  (16/18)
<static initializer> 100% (1/1)100% (85/85)100% (14/14)
DemoModule (SwingSet2, String, String): void 100% (1/1)100% (65/65)100% (17/17)
createHorizontalPanel (boolean): JPanel 100% (1/1)100% (25/25)100% (7/7)
createVerticalPanel (boolean): JPanel 100% (1/1)100% (25/25)100% (7/7)
getDemoPanel (): JPanel 100% (1/1)100% (3/3)100% (1/1)
getIcon (): Icon 100% (1/1)100% (14/14)100% (1/1)
getMnemonic (String): char 100% (1/1)100% (6/6)100% (1/1)
getName (): String 100% (1/1)100% (12/12)100% (1/1)
getResourceName (): String 100% (1/1)100% (3/3)100% (1/1)
getSourceCode (): String 100% (1/1)100% (3/3)100% (1/1)
getSwingSet2 (): SwingSet2 100% (1/1)100% (3/3)100% (1/1)
getToolTip (): String 100% (1/1)100% (12/12)100% (1/1)

1/*
2 * Copyright (c) 2003 Sun Microsystems, Inc. All  Rights Reserved.
3 * 
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 
8 * -Redistributions of source code must retain the above copyright
9 *  notice, this list of conditions and the following disclaimer.
10 * 
11 * -Redistribution in binary form must reproduct the above copyright
12 *  notice, this list of conditions and the following disclaimer in
13 *  the documentation and/or other materials provided with the distribution.
14 * 
15 * Neither the name of Sun Microsystems, Inc. or the names of contributors
16 * may be used to endorse or promote products derived from this software
17 * without specific prior written permission.
18 * 
19 * This software is provided "AS IS," without a warranty of any kind. ALL
20 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
21 * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
22 * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN AND ITS LICENSORS SHALL NOT
23 * BE LIABLE FOR ANY DAMAGES OR LIABILITIES SUFFERED BY LICENSEE AS A RESULT
24 * OF OR RELATING TO USE, MODIFICATION OR DISTRIBUTION OF THE SOFTWARE OR ITS
25 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST
26 * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL,
27 * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY
28 * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE, EVEN
29 * IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
30 * 
31 * You acknowledge that Software is not designed, licensed or intended for
32 * use in the design, construction, operation or maintenance of any nuclear
33 * facility.
34 */
35 
36/*
37 * @(#)DemoModule.java        1.14 03/01/23
38 */
39 
40import javax.swing.*;
41import javax.swing.event.*;
42import javax.swing.text.*;
43import javax.swing.border.*;
44import javax.swing.colorchooser.*;
45import javax.swing.filechooser.*;
46import javax.accessibility.*;
47 
48import java.awt.*;
49import java.awt.event.*;
50import java.beans.*;
51import java.util.*;
52import java.io.*;
53import java.applet.*;
54import java.net.*;
55 
56/**
57 * A generic SwingSet2 demo module
58 *
59 * @version 1.14 01/23/03
60 * @author Jeff Dinkins
61 */
62public class DemoModule extends JApplet {
63 
64    // The preferred size of the demo
65    private int PREFERRED_WIDTH = 680;
66    private int PREFERRED_HEIGHT = 600;
67 
68    Border loweredBorder = new CompoundBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED), 
69                                              new EmptyBorder(5,5,5,5));
70 
71    // Premade convenience dimensions, for use wherever you need 'em.
72    public static Dimension HGAP2 = new Dimension(2,1);
73    public static Dimension VGAP2 = new Dimension(1,2);
74 
75    public static Dimension HGAP5 = new Dimension(5,1);
76    public static Dimension VGAP5 = new Dimension(1,5);
77    
78    public static Dimension HGAP10 = new Dimension(10,1);
79    public static Dimension VGAP10 = new Dimension(1,10);
80 
81    public static Dimension HGAP15 = new Dimension(15,1);
82    public static Dimension VGAP15 = new Dimension(1,15);
83    
84    public static Dimension HGAP20 = new Dimension(20,1);
85    public static Dimension VGAP20 = new Dimension(1,20);
86 
87    public static Dimension HGAP25 = new Dimension(25,1);
88    public static Dimension VGAP25 = new Dimension(1,25);
89 
90    public static Dimension HGAP30 = new Dimension(30,1);
91    public static Dimension VGAP30 = new Dimension(1,30);
92        
93    private SwingSet2 swingset = null;
94    private JPanel panel = null;
95    private String resourceName = null;
96    private String iconPath = null;
97    private String sourceCode = null;
98 
99    // Resource bundle for internationalized and accessible text
100    private ResourceBundle bundle = null;
101 
102    public DemoModule(SwingSet2 swingset) {
103        this(swingset, null, null);
104    }
105 
106    public DemoModule(SwingSet2 swingset, String resourceName, String iconPath) {
107        panel = new JPanel();
108        panel.setLayout(new BorderLayout());
109 
110        this.resourceName = resourceName;
111        this.iconPath = iconPath;
112        this.swingset = swingset;
113 
114        loadSourceCode();
115    }
116 
117    public String getResourceName() {
118        return resourceName;
119    }
120 
121    public JPanel getDemoPanel() {
122        return panel;
123    }
124 
125    public SwingSet2 getSwingSet2() {
126        return swingset;
127    }
128 
129 
130    public String getString(String key) {
131        String value = "nada";
132        if(bundle == null) {
133            if(getSwingSet2() != null) {
134                bundle = getSwingSet2().getResourceBundle();
135            } else {
136                bundle = ResourceBundle.getBundle("resources.swingset");
137            }
138        }
139        try {
140            value = bundle.getString(key);
141        } catch (MissingResourceException e) {
142            System.out.println("java.util.MissingResourceException: Couldn't find value for: " + key);
143        }
144        return value;
145    }
146 
147    public char getMnemonic(String key) {
148        return (getString(key)).charAt(0);
149    }
150 
151    public ImageIcon createImageIcon(String filename, String description) {
152        if(getSwingSet2() != null) {
153            return getSwingSet2().createImageIcon(filename, description);
154        } else {
155            String path = "/resources/images/" + filename;
156            return new ImageIcon(getClass().getResource(path), description); 
157        }
158    }
159    
160 
161    public String getSourceCode() {
162        return sourceCode;
163    }
164 
165    public void loadSourceCode() {
166        if(getResourceName() != null) {
167            String filename = "src/" + getResourceName() + ".java";
168            sourceCode = new String("<html><body bgcolor=\"#ffffff\"><pre>");
169            char[] buff = new char[50000];
170            InputStream is;
171            InputStreamReader isr;
172            CodeViewer cv = new CodeViewer();
173            URL url;
174            
175            try {
176                url = getClass().getResource(filename); 
177                is = url.openStream();
178                isr = new InputStreamReader(is);
179                BufferedReader reader = new BufferedReader(isr);
180                
181                // Read one line at a time, htmlize using super-spiffy
182                // html java code formating utility from www.CoolServlets.com
183                String line = reader.readLine();
184                while(line != null) {
185                    sourceCode += cv.syntaxHighlight(line) + " \n ";
186                    line = reader.readLine();
187                }
188                sourceCode += new String("</pre></body></html>");
189            } catch (Exception ex) {
190                sourceCode = "Could not load file: " + filename;
191            }
192        }
193    }
194 
195    public String getName() {
196        return getString(getResourceName() + ".name");
197    };
198 
199    public Icon getIcon() {
200        return createImageIcon(iconPath, getResourceName() + ".name");
201    };
202 
203    public String getToolTip() {
204        return getString(getResourceName() + ".tooltip");
205    };
206 
207    public void mainImpl() {
208        JFrame frame = new JFrame(getName());
209        frame.getContentPane().setLayout(new BorderLayout());
210        frame.getContentPane().add(getDemoPanel(), BorderLayout.CENTER);
211        getDemoPanel().setPreferredSize(new Dimension(PREFERRED_WIDTH, PREFERRED_HEIGHT));
212        frame.pack();
213        frame.show();
214    }
215 
216    public JPanel createHorizontalPanel(boolean threeD) {
217        JPanel p = new JPanel();
218        p.setLayout(new BoxLayout(p, BoxLayout.X_AXIS));
219        p.setAlignmentY(TOP_ALIGNMENT);
220        p.setAlignmentX(LEFT_ALIGNMENT);
221        if(threeD) {
222            p.setBorder(loweredBorder);
223        }
224        return p;
225    }
226    
227    public JPanel createVerticalPanel(boolean threeD) {
228        JPanel p = new JPanel();
229        p.setLayout(new BoxLayout(p, BoxLayout.Y_AXIS));
230        p.setAlignmentY(TOP_ALIGNMENT);
231        p.setAlignmentX(LEFT_ALIGNMENT);
232        if(threeD) {
233            p.setBorder(loweredBorder);
234        }
235        return p;
236    }
237 
238    public static void main(String[] args) {
239        DemoModule demo = new DemoModule(null);
240        demo.mainImpl();
241    }
242 
243    public void init() {
244        getContentPane().setLayout(new BorderLayout());
245        getContentPane().add(getDemoPanel(), BorderLayout.CENTER);
246    }
247}
248 

[all classes][default package]
EMMA 2.0.4015 (stable) (C) Vladimir Roubtsov