KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > kawa > TextAreaWriter


1 package kawa;
2
3 /** A Writer that appends its output to a TextArea.
4   * Based on code from Albert L. Ting" <alt@artisan.com>.
5   */

6
7 public class TextAreaWriter extends java.io. Writer JavaDoc
8 {
9   java.awt.TextArea JavaDoc area;
10   String JavaDoc str="";
11
12   public TextAreaWriter (java.awt.TextArea JavaDoc area)
13   {
14     this.area = area;
15   }
16
17   public synchronized void write(int x)
18   {
19     str = str + (char) x;
20     if (x == '\n')
21       flush();
22   }
23
24   public void write (String JavaDoc str)
25   {
26     if (area instanceof MessageArea)
27       {
28     MessageArea msg = (MessageArea) area;
29     msg.write(str);
30       }
31     else
32       area.append(str);
33   }
34
35   public synchronized void write (char[] data, int off, int len)
36   {
37     flush();
38     write(new String JavaDoc(data, off, len));
39   }
40
41   public synchronized void flush()
42   {
43     if (! str.equals(""))
44       {
45     write(str);
46     str = "";
47       }
48   }
49
50   public void close ()
51   {
52     flush();
53   }
54 }
55
Popular Tags