JTextArea là một thành phần cho phép hiển thị nhiều dòng văn bản đồng thời người dùng có thể chỉnh sửa văn bản.

JTextArea is a component allowing displaying multiple line and the user can edit the text.

Tạo một JTextArea đơn giản


Bây giờ chúng ta sẽ thực hành ngay một ví dụ cho phép bạn gõ và chỉnh sửa văn bản. Trong code và hình ảnh mình đã giải thích khá rõ ràng các lệnh thực hiện với JTextArea.

Create a simple JTextArea


Now we will write an example allowed typing and editing text. In the code and image, I have clearly explained.

create JTextArea  in Java
package nguyenvanquan7826.JTextArea;

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

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

/**
 * ----------------- @author nguyenvanquan7826 -----------------
 * ---------------nguyenvanquan7826.wordpress.com --------------
 */
public class DemoJTextArea extends JFrame {

	private JTextArea ta;

	public DemoJTextArea() {

		add(createMainPanel());

		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setTitle("Demo JTextArea");
		pack();
		setLocationRelativeTo(null);
		setVisible(true);
	}

	private JPanel createMainPanel() {
		JPanel panel = new JPanel(new BorderLayout());

		// JScrollPane create a scroll when row of text larger than row of
		// JTextArea
		JScrollPane scroll = new JScrollPane(ta = createTextArea(10, 40));
		panel.add(scroll, BorderLayout.CENTER);

		JButton btnClear = new JButton("Clear");
		btnClear.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				clear();
			}
		});

		JPanel panelBottom = new JPanel();
		panelBottom.add(btnClear);

		panel.add(panelBottom, BorderLayout.PAGE_END);

		return panel;
	}

	/**
	 * create a JTextArea with rows and columns, two method setWrapStyleWord and
	 * setLineWrap make text can down line when text too long
	 */
	private JTextArea createTextArea(int row, int col) {
		JTextArea ta = new JTextArea(row, col);
		ta.setWrapStyleWord(true);
		ta.setLineWrap(true);
		return ta;
	}

	/**
	 * clear text of JTextArea
	 */
	private void clear() {
		ta.setText("");
	}

	public static void main(String[] args) {
		new DemoJTextArea();
	}
}

Đọc thêm (read more): TUT Java swing, class JTextArea, use JTextArea