latest 500 lines in a JtextArea inside a JScrollPane

E

etantonio

Good morning,
I've a JtextArea inside a JScrollPane,
I use an append to add lines to the JtextArea , my problem is that the
lines I add are very much so at the end this crash JVM, there's an
automatic way to limit the number of lines in the jtextarea in a way
that for example I've only latest 500 lines ?

Thanks,

Antonio
www.etantonio.it/en
 
J

John B. Matthews

etantonio said:
I've a JtextArea inside a JScrollPane, I use an append to add lines
to the JtextArea , my problem is that the lines I add are very much
so at the end this crash JVM, there's an automatic way to limit the
number of lines in the jtextarea in a way that for example I've only
latest 500 lines ?

When the Document exceeds 500 lines, you could use replaceRange() to
clear lines at the Document's beginning each time you add text to the
Document's end. The several getLine*() methods seem apropos to this:

<http://java.sun.com/javase/6/docs/api/javax/swing/JTextArea.html>
 
K

Knute Johnson

etantonio said:
Good morning,
I've a JtextArea inside a JScrollPane,
I use an append to add lines to the JtextArea , my problem is that the
lines I add are very much so at the end this crash JVM, there's an
automatic way to limit the number of lines in the jtextarea in a way
that for example I've only latest 500 lines ?

Thanks,

Antonio
www.etantonio.it/en

I use the following code all the time for a logging window so I don't
have overflow problems. When the limit is exceeded, some of the front
of the document is removed.

//
//
// LengthLimitedDocument
//
//

package com.knutejohnson.classes;

import javax.swing.text.*;

public class LengthLimitedDocument extends PlainDocument {
private int limit;

public LengthLimitedDocument(int limit) {
this.limit = limit;
}

public void insertString(int offs, String str, AttributeSet a)
throws BadLocationException {
super.insertString(offs, str, a);
int length = getLength();
if (length > limit)
remove(0,limit/20); // remove 5% of document if over limit
}
}
 
R

Roedy Green

I use an append to add lines to the JtextArea , my problem is that the
lines I add are very much so at the end this crash JVM, there's an
automatic way to limit the number of lines in the jtextarea in a way
that for example I've only latest 500 lines ?

you can programmatically scroll the JScrollPane. See
http://mindprod.com/jgloss/jscrollpage.html

You could also remove early text from the JTextArea as you go.
--
Roedy Green Canadian Mind Products
http://mindprod.com

"The industrial civilisation is based on the consumption of energy resources that are inherently limited in quantity, and that are about to become scarce. When they do, competition for what remains will trigger dramatic economic and geopolitical events; in the end, it may be impossible for even a single nation to sustain industrialism as we have know it in the twentieth century."
~ Richard Heinberg, The Party’s Over: Oil, War, and the Fate of Industrial Societies
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,048
Latest member
verona

Latest Threads

Top