Sebelum melanjutkan ke contoh program Java terkait penggunaan kelas JTextArea, Anda dapat membaca terlebih dahulu artikel tentang Kelas JTextArea untuk mengetahui dan lebih memahami apa kelas JTextArea itu. Contoh program ini menggunakan dua obyek kelas JTextArea dan beberapa metoda seperti setLineWrap, setWrapStyleWord dan append.

Program akan menyalin (copy) teks yang disorot di TextArea 1 untuk ditambahkan di posisi terakhir dari TextArea 2 ketika tombol yaitu obyek kelas JButton yang ada di posisi bawah diklik. Kedua obyek text area diletakkan ke dalam obyek scroll bar, dengan demikian Anda akan lebih mudah melihat teks yang tidak terlihat karena keterbatasan tampilan area obyek text area. Berikut ini adalah kode program dan hasil eksekusinya:

// Nama file : DemoJTextArea.java
// Mendemonstrasikan penggunaan metoda append

// Mengimpor kelas
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

// Mendeklarasikan kelas
public class DemoJTextArea extends JFrame {

   private JTextArea area1, area2;
   private TitledBorder border1, border2;
   private String str1, str2, lblButton;
   private JScrollPane scrollPane1, scrollPane2;
   private JPanel panel;
   private JButton jbtCopy;

   public DemoJTextArea() {
      str1 = "Dengan bahasa Java, anda dapat membuat " + 
             "program aplikasi dan applet. Applet adalah " + 
             "program khusus Java yang dapat berjalan di " +
             "web browser";
      str2 = "Bahasa Java merupakan bahasa pemrograman " +
             "yang sekarang ini banyak digunakan oleh " +
             "para programer. ";
      
      area1 = new JTextArea(str1);
      area1.setLineWrap(true);
      area1.setWrapStyleWord(true);
      scrollPane1 = new JScrollPane(area1);
      scrollPane1.setBorder(new TitledBorder("TextArea 1"));

      area2 = new JTextArea(str2);
      area2.setEditable(false);
      area2.setLineWrap(true);
      area2.setWrapStyleWord(true);
      scrollPane2 = new JScrollPane(area2);
      scrollPane2.setBorder(new TitledBorder("TextArea 2"));

      panel = new JPanel();
      panel.setLayout(new GridLayout(1, 2, 3, 3));
      panel.add(scrollPane1);
      panel.add(scrollPane2);

      // Label button dengan tag HTML
      lblButton = "" + "Salin teks yang disorot di TextArea 1" +
                  "
" + "ke posisi teks terakhir di TextArea 2" + ""; jbtCopy = new JButton(lblButton); jbtCopy.addActionListener( new ActionListener() { public void actionPerformed(ActionEvent ae) { area2.append(area1.getSelectedText()); } } ); // Meletakkan panel dan tombol content pane getContentPane().add(panel, BorderLayout.CENTER); getContentPane().add(jbtCopy, BorderLayout.PAGE_END); } // Metoda main public static void main(String[] args) { DemoJTextArea frame = new DemoJTextArea(); frame.setTitle("Kelas DemoJTextArea"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(380, 190); frame.setVisible(true); } }
Menggunakan kelas JTextArea di bahasa pemrograman Java

Kelas JTextArea tidak dapat memicu action event sebagaimana pada Kelas JTextField. Dari contoh program di atas, event lain dari kelas JButton yaitu variabel acuan jbtCopy digunakan untuk menyalin teks dari satu area teks ke area teks lain. Ketika sebagian atau keseluruhan teks di TextArea 1 diseleksi dan tombol di posisi bawah ditekan, maka pernyataan di baris nomor 55 – 57 dieksekusi.

Pernyataan penanganan aksi (event) di contoh program di atas menggunakan obyek pendengar (listener object) berupa anonymous inner class dan menyertakan langsung metoda actionPerformed di dalamnya. Di dalam blok metoda actionPerformed, pernyataan baris nomor 56 menyalin teks yang disorot di TextArea 1 untuk ditambahkan di posisi akhir dari teks yang ada di TextArea 2.