Java Swing How to - Copy selected text from one text area to another JTextArea








Question

We would like to know how to copy selected text from one text area to another JTextArea.

Answer

/*from  w ww.j a  v  a2 s .c om*/

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Main extends JFrame {
  private JTextArea t1 = new JTextArea("this is a test", 10, 15), t2;

  private JButton copy = new JButton("Copy");

  public Main() {
    Box b = Box.createHorizontalBox();    
    b.add(new JScrollPane(t1));    
    copy.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent e) {
        t2.setText(t1.getSelectedText());
      }
    });
    b.add(copy);

    t2 = new JTextArea(10, 15);
    t2.setEditable(false);
    b.add(new JScrollPane(t2));

    add(b); 
    setSize(425, 200);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
  public static void main(String args[]) {
    new Main();
  }
}