Your best option is to directly modify the underlying Document JTextArea .
Here is a small demonstration of this:
import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Date; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.SwingUtilities; import javax.swing.text.BadLocationException; public class TestTextArea { private void initUI() { JFrame frame = new JFrame("test"); final JTextArea textarea = new JTextArea(24, 80); JButton addText = new JButton("Add line"); addText.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { try { textarea.getDocument().insertString(0, "New line entered on " + new Date() + "\n", null); } catch (BadLocationException e1) {
source share