Selecting all text in the JTextArea
component can be done by using the selectAll()
method. In the example below we use a button action to do the selection. After select the text we transfer focus back to the JTextArea
so that the highlighted text is shown.
package org.kodejava.swing;
import javax.swing.*;
import java.awt.*;
public class TextAreaSelectAll extends JPanel {
public TextAreaSelectAll() {
initializeUI();
}
public static void showFrame() {
JPanel panel = new TextAreaSelectAll();
panel.setOpaque(true);
JFrame frame = new JFrame("JTextArea Demo");
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setContentPane(panel);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(TextAreaSelectAll::showFrame);
}
private void initializeUI() {
this.setLayout(new BorderLayout());
this.setPreferredSize(new Dimension(500, 200));
final JTextArea textArea = new JTextArea(
"The quick brown fox jumps over the lazy dog.");
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);
JScrollPane pane = new JScrollPane(textArea);
pane.setPreferredSize(new Dimension(500, 200));
pane.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
final JButton button1 = new JButton("Select All");
button1.addActionListener(e -> {
textArea.selectAll();
// Transfer focus to JTextArea to show the selected
// text.
button1.transferFocusBackward();
});
final JButton button2 = new JButton("Get Selected Text");
button2.addActionListener(e -> {
String text = textArea.getSelectedText();
System.out.println("Text = " + text);
});
JPanel buttonPanel = new JPanel(new FlowLayout());
buttonPanel.add(button1);
buttonPanel.add(button2);
this.add(pane, BorderLayout.CENTER);
this.add(buttonPanel, BorderLayout.SOUTH);
}
}
And here the screenshot of the code snippet above:
Latest posts by Wayan (see all)
- How do I create a string of repeated characters? - September 1, 2023
- How do I convert datetime string with optional part to a date object? - August 28, 2023
- How do I split large excel file into multiple smaller files? - April 15, 2023