Solved

Aligning Textarea

Posted on 1997-08-21
4
449 Views
Last Modified: 2012-05-04
Question...

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?

Thanks...
0
Comment
Question by:slyfoxx
  • 2
4 Comments
 
LVL 10

Expert Comment

by:kollegov
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);
          add(ta);
          validate();
         }
         
         public boolean mouseDown(Event e, int x, int y)
         { ta.appendText("\n"+i);
           i++;
           return true;
         }
         

        }
0
 

Author Comment

by:slyfoxx
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.setSize(400,400);
    fr.setFont(new Font("Courier", Font.BOLD, 10));
    txt.setEditable(false);
    fr.add(txt);
    txt.append("----------------------------------\n");
    txt.append("Socket Connection Established\n");
    txt.append("----------------------------------\n\n");
    fr.show();
    fr.setLocation(300,300);
    }

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

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

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

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

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

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

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

}
0
 
LVL 1

Accepted Solution

by:
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.
0
 

Author Comment

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

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
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:
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

759 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now