OSDN Git Service

7ee3f9110c51a96df5076522dd0848d4fab002ab
[pf3gnuchains/gcc-fork.git] / libjava / java / awt / TextArea.java
1 /* Copyright (C) 1999  Cygnus Solutions
2
3    This file is part of libjava.
4
5 This software is copyrighted work licensed under the terms of the
6 Libjava License.  Please consult the file "LIBJAVA_LICENSE" for
7 details.  */
8
9 package java.awt;
10
11 /* A very incomplete placeholder. */
12
13 public class TextArea extends TextComponent
14 {
15   public synchronized void append (String str)
16   {
17     replaceRange(str, length, length);
18   }
19
20   public synchronized void insert (String str, int pos)
21   {
22     replaceRange(str, pos, pos);
23   }
24
25   public synchronized void replaceRange (String str, int start, int end)
26   {
27     if (length == 0)
28       setText (str);
29     else
30       {
31         int len = str.length();
32         int delta = len - (end - start);
33         int new_length = length + delta;
34         if (buffer.length < new_length)
35           {
36             int new_size = 2 * buffer.length;
37             if (new_size < new_length)
38               new_size = new_length;
39             char[] new_buffer = new char[new_size];
40             System.arraycopy(buffer, 0, new_buffer, 0, length);
41             buffer = new_buffer;
42           }
43         if (len != end)
44           System.arraycopy(buffer, start, buffer, start + len, len - end);
45         str.getChars(0, len, buffer, start);
46         length += delta;
47       }
48   }
49 }