[JavaSwing] JTextArea trong Java

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.

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.
JTextArea trong 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();
    }
}

Đặt font và màu chữ cho JTextArea

Bạn có thể đặt font và màu chữ giống như hàm sau:

/**
 * change font and color text of JTextArea
 */
private void changeColor() {
	Font font = new Font("Verdana", Font.BOLD, 20);
	ta.setFont(font);
	ta.setForeground(Color.BLUE);
}

font and color in JtextArea

Đọc thêm : TUT Java swing, class JTextArea, use JTextArea