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

COVERAGE SUMMARY FOR SOURCE FILE [HtmlDemo.java]

nameclass, %method, %block, %line, %
HtmlDemo.java100% (2/2)60%  (3/5)45%  (64/143)47%  (17.1/36)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class HtmlDemo$1100% (1/1)50%  (1/2)15%  (6/41)11%  (1/9)
hyperlinkUpdate (HyperlinkEvent): void 0%   (0/1)0%   (0/35)0%   (0/8)
HtmlDemo$1 (HtmlDemo): void 100% (1/1)100% (6/6)100% (1/1)
     
class HtmlDemo100% (1/1)67%  (2/3)57%  (58/102)60%  (16.1/27)
main (String []): void 0%   (0/1)0%   (0/8)0%   (0/3)
HtmlDemo (SwingSet2): void 100% (1/1)60%  (53/89)66%  (15.1/23)
createHyperLinkListener (): HyperlinkListener 100% (1/1)100% (5/5)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 * @(#)HtmlDemo.java        1.8 03/01/23
38 */
39 
40 
41import javax.swing.*;
42import javax.swing.event.*;
43import javax.swing.text.*;
44import javax.swing.text.html.*;
45import javax.swing.border.*;
46import javax.swing.colorchooser.*;
47import javax.swing.filechooser.*;
48import javax.accessibility.*;
49 
50import java.awt.*;
51import java.awt.event.*;
52import java.beans.*;
53import java.util.*;
54import java.io.*;
55import java.applet.*;
56import java.net.*;
57 
58/**
59 * Html Demo
60 *
61 * @version 1.8 03/01/23
62 * @author Jeff Dinkins
63 */
64public class HtmlDemo extends DemoModule {
65 
66    JEditorPane html;
67    
68    /**
69     * main method allows us to run as a standalone demo.
70     */
71    public static void main(String[] args) {
72        HtmlDemo demo = new HtmlDemo(null);
73        demo.mainImpl();
74    }
75    
76    /**
77     * HtmlDemo Constructor
78     */
79    public HtmlDemo(SwingSet2 swingset) {
80        // Set the title for this demo, and an icon used to represent this
81        // demo inside the SwingSet2 app.
82        super(swingset, "HtmlDemo", "toolbar/JEditorPane.gif");
83        
84        try {
85            URL url = null;
86            // System.getProperty("user.dir") +
87            // System.getProperty("file.separator");
88            String path = null;
89            try {
90                path = "/resources/index.html";
91                url = getClass().getResource(path);
92            } catch (Exception e) {
93                System.err.println("Failed to open " + path);
94                url = null;
95            }
96            
97            if(url != null) {
98                html = new JEditorPane(url);
99                html.setEditable(false);
100                html.addHyperlinkListener(createHyperLinkListener());
101                
102                JScrollPane scroller = new JScrollPane();
103                JViewport vp = scroller.getViewport();
104                vp.add(html);
105                getDemoPanel().add(scroller, BorderLayout.CENTER);
106            }
107        } catch (MalformedURLException e) {
108            System.out.println("Malformed URL: " + e);
109        } catch (IOException e) {
110            System.out.println("IOException: " + e);
111        }
112    }
113 
114    public HyperlinkListener createHyperLinkListener() {
115        return new HyperlinkListener() {
116            public void hyperlinkUpdate(HyperlinkEvent e) {
117                if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
118                    if (e instanceof HTMLFrameHyperlinkEvent) {
119                        ((HTMLDocument)html.getDocument()).processHTMLFrameHyperlinkEvent(
120                            (HTMLFrameHyperlinkEvent)e);
121                    } else {
122                        try {
123                            html.setPage(e.getURL());
124                        } catch (IOException ioe) {
125                            System.out.println("IOE: " + ioe);
126                        }
127                    }
128                }
129            }
130        };
131    }
132    
133}

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