| /* Copyright (C) 1999 Free Software Foundation | |
| This file is part of libjava. | |
| This software is copyrighted work licensed under the terms of the | |
| Libjava License. Please consult the file "LIBJAVA_LICENSE" for | |
| details. */ | |
| package java.awt; | |
| /* A very incomplete placeholder. */ | |
| public class TextArea extends TextComponent | |
| { | |
| public synchronized void append (String str) | |
| { | |
| replaceRange(str, length, length); | |
| } | |
| public synchronized void insert (String str, int pos) | |
| { | |
| replaceRange(str, pos, pos); | |
| } | |
| public synchronized void replaceRange (String str, int start, int end) | |
| { | |
| if (length == 0) | |
| setText (str); | |
| else | |
| { | |
| int len = str.length(); | |
| int delta = len - (end - start); | |
| int new_length = length + delta; | |
| if (buffer.length < new_length) | |
| { | |
| int new_size = 2 * buffer.length; | |
| if (new_size < new_length) | |
| new_size = new_length; | |
| char[] new_buffer = new char[new_size]; | |
| System.arraycopy(buffer, 0, new_buffer, 0, length); | |
| buffer = new_buffer; | |
| } | |
| if (len != end) | |
| System.arraycopy(buffer, start, buffer, start + len, len - end); | |
| str.getChars(0, len, buffer, start); | |
| length += delta; | |
| } | |
| } | |
| } |