Sebelum melangkah lebih lanjut ke contoh program Java yang menitikberatkan pada penggunaan kelas JTextArea, Anda dapat membaca artikel Mengenal Kelas JTextArea Di Pemrograman Java terlebih dahulu untuk lebih mengenal kelas JTextArea. Contoh program ini menggunakan dua buah obyek dari kelas JTextArea dan beberapa metoda kelas tersebut seperti setLineWrap, setWrapStyleWord dan append. Program akan menyalin (copy) teks yang disorot di TextArea 1 untuk ditambahkan di posisi terakhir (digabungkan) ke teks yang ada di TextArea 2 ketika tombol (obyek kelas JButton) yang ada di posisi bawah ditekan. Program akan meletakkan kedua obyek text area ke dalam obyek scroll bar, dengan demikian Anda akan lebih mudah melihat teks yang tidak nampak karena keterbatasan 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); } }

Kelas JTextArea tidak dapat menghasilkan action event sebagaimana kelas JTextField (baca artikel Mengenal Kelas JTextField Di Java, Penanganan Event Di Kelas JTextField dan Mengkombinasikan Kelas JTextField dengan Kelas JScrollBar). Dari contoh program di atas, event lain dari kelas JButton (variabel acuan jbtCopy) digunakan untuk menyalin teks dari satu area teks ke area teks lain. Ketika sebagian atau keseluruhan teks yang berada di TextArea 1 disorot (dipilih) dan kemudian tombol yang berada di posisi bawah ditekan, maka pernyataan di baris nomor 55 – 57 dieksekusi. Pernyataan penanganan aksi di contoh program tersebut menggunakan obyek pendengar (listener object) berupa anonymous inner class dan menyertakan langsung metoda actionPerformed di dalamnya. Di blok metoda actionPerformed, pernyataan baris nomor 56 menyalin teks yang telah disorot di TextArea 1 untuk ditambahkan di posisi terakhir dari teks yang ada di TextArea 2.

Menggunakan kelas JTextArea di Java

Menggunakan kelas JTextArea di Java