1 /*
2 * Copyright (c) 2005 The University of Reading
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. Neither the name of the University of Reading, nor the names of the
14 * authors or contributors may be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29 package uk.ac.rdg.resc.jstyx.gridservice.client;
30
31 import javax.swing.JTextArea;
32 import javax.swing.JScrollPane;
33
34 import java.awt.BorderLayout;
35
36 import uk.ac.rdg.resc.jstyx.StyxUtils;
37
38 /***
39 * Simple (minimal) stream viewer for viewing a text stream
40 *
41 * @author Jon Blower
42 * $Revision: 288 $
43 * $Date: 2005-06-07 17:44:45 +0100 (Tue, 07 Jun 2005) $
44 * $Log$
45 * Revision 1.3 2005/06/07 16:44:45 jonblower
46 * Fixed problem with caching stream reader on client side
47 *
48 * Revision 1.2 2005/05/27 17:05:07 jonblower
49 * Changes to incorporate GeneralCachingStreamReader
50 *
51 * Revision 1.1 2005/05/26 21:33:40 jonblower
52 * Added method for viewing streams in a window
53 *
54 */
55 public class TextStreamViewer extends StreamViewer
56 {
57
58 private JTextArea textArea;
59
60 public TextStreamViewer()
61 {
62 this.setLayout(new BorderLayout());
63 this.textArea = new JTextArea();
64 this.textArea.setEditable(false);
65 this.getContentPane().add(new JScrollPane(this.textArea),
66 BorderLayout.CENTER);
67 this.setBounds(200, 200, 400, 400);
68 }
69
70 /***
71 * Called when new data arrive from the server. Simply adds the new data to
72 * the JTextArea.
73 */
74 public void newDataArrived(byte[] data, int size)
75 {
76 this.textArea.append(new String(data, 0, size));
77 this.textArea.repaint();
78 }
79
80 }