How to insert or add a new line on top of jtextarea in java swing?

how to insert or add a new line on top of jtextarea in java swing? I want to add jtextarea and add a new line on top of jtextarea please help me how to do this.

+6
source share
3 answers

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) { // TODO Auto-generated catch block e1.printStackTrace(); } } }); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add(new JScrollPane(textarea)); frame.add(addText, BorderLayout.SOUTH); frame.pack(); frame.setVisible(true); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new TestTextArea().initUI(); } }); } } 
+4
source

You can do it:

 textArea.setText("The new text\n" + textArea.getText()); 

Or, even a better solution would be:

 try { textArea.getDocument().insertString(0, "The new text\n", null); } catch (BadLocationException e) { e.printStackTrace(); } 
+9
source

textArea.setText("this is new line" + "\n" + textArea.getText())

+1
source

Source: https://habr.com/ru/post/926104/


All Articles