Can we select only some of the text in JTextArea?

Java 8Object Oriented ProgrammingProgramming

Yes, we can do that using built-in methods of JTextArea components. Let’say the following is our JTextArea −

JTextArea textArea = new JTextArea("This is a text displayed for our example. We have selected some of the text.");

Now, use the methods setSelectionStart() and setSelectionEnd() to select some text in a range −

textArea.setSelectionStart(5);
textArea.setSelectionEnd(20);

The following is an example to select some of the text in a JTextArea −

Example

package my;
import java.awt.GridLayout;
import javax.swing.*;
public class SwingDemo {
SwingDemo() {
JFrame frame = new JFrame("Demo");
JTextArea textArea = new JTextArea("This is a text displayed for our example. We have selected some of the text.");
textArea.setSelectionStart(5);
textArea.setSelectionEnd(20);
frame.setSize(550,300);
frame.setLayout(new GridLayout(2, 2));
frame.setVisible(true);
}
public static void main(String args[]) {
new SwingDemo ();
}
}

This will produce the following output displaying selected text in a range −

Output

Published on 31-May-2019 16:09:28