mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Java
		
	
	
	
| /* 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;
 | |
|       }
 | |
|   }
 | |
| }
 |