Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Aligning Textarea

Posted on 1997-08-21
Last Modified: 2012-05-04

OK, this is probably really simple for a seasoned Java coder, but, I have
an application that opens a textarea as a log window. However, whenever
the window fills, the window does not automatically scroll down. Is there
a way to this?

Question by:slyfoxx
  • 2
LVL 10

Expert Comment

ID: 1225514
try following example :
simply click on applet field to add row ro TextArea
This one scrolls in appletviewer in JDK1.02
I think you do not appended text but replaced all text setting
it with setText() method. That's why it doesn't scroll

import java.awt.*;
import java.net.*;
import java.applet.*;

        public class check extends Applet
        {int i=0;
         TextArea ta;
         public void init()
         {ta=new TextArea(10,10);
         public boolean mouseDown(Event e, int x, int y)
         { ta.appendText("\n"+i);
           return true;


Author Comment

ID: 1225515
Sorry, No good.

Irrespective of whether I append to the textarea or recreate all the text, the view of the text in the textarea is the same, the view does not scroll down automatically. (i.e. Functionally the same as the scroll bar being at the top and not moving.)

I am running jdk 1.1.3 on a solaris 2.5 machine under X.

Here is a copy of the code I am using.

import java.awt.*;

public class monitor {
  Frame fr = new Frame("Simulator Monitor");
  TextArea txt = new TextArea("", 12, 72);
  String text = "";

  monitor() {
    fr.setFont(new Font("Courier", Font.BOLD, 10));
    txt.append("Socket Connection Established\n");

 public void title(String t) {
    fr.setTitle("MR Simulator Monitor: "+t);

  public void add(String t) {
    text = text+t;

  public void add(int c, String t) {
    text = text+("("+c+") "+t);

  public void addln(String t) {
    text = text+t+"\n";

  public void addln(int c, String t) {
    text = text+"("+c+") "+t+"\n";

  public void addln() {
    text = text+"\n";

  public void update() {
    int end = text.length();
    txt.replaceRange(text, 0, end);


Accepted Solution

gerry99 earned 50 total points
ID: 1225516
I'd recommend using a List instead of a TextArea.

When you add an item call  

list.select( list.size()-1 );

to select the last item in this list.  This will scroll the list
so that the last line is selected.  The downside, is that
List doesn't come with a horizontal scrollbar, so each item
should fit within the width of your control.

Hope this helps.

Author Comment

ID: 1225517
Interesting, I hadn't thought of it that way... Thanks...

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
Java had always been an easily readable and understandable language.  Some relatively recent changes in the language seem to be changing this pretty fast, and anyone that had not seen any Java code for the last 5 years will possibly have issues unde…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question