Home > Java Swing > JTextArea trong Java Swing

JTextArea trong Java Swing

Đặc điểm cơ bản của JTextArea:

– Cho phép hiển thị/ chỉnh sửa nhiều dòng text
– Có thể được sử dụng kết hợp với lớp JScrollPane để thực hiện việc cuộn ngang, dọc

Các phương thức cơ bản của JTextArea:

– getText() : Lấy nội dung của JTextArea

– setText(String text) : Đặt nội dung cho JTextArea

– append(String str) : Thêm chuỗi vào cuối nội dung của JTextArea

– setColumns(int columns) : Đặt số cột cho JTextArea

– setRows(int rows) : Đặt số dòng cho JTextArea

– setLineWrap(boolean wrap) : Đặt/Hủy line wrap

– setWrapStyleWord(boolean word): Đặt/ Hủy word wrap

– setDragEnabled(boolean b) : Enable / Disable thao tác kéo nội dung

– setCaretPosition(int position) : Đặt vị trí con trỏ nháy

– setCaretColor(Color c) : Đặt màu cho con trỏ nháy

Code minh họa sử dụng JTextArea:

Ví dụ : Đoạn code sau thực hiện chức năng thêm nội dung gõ từ JTextField vào cuối JTextArea

package quyetdv.javaswing.demo;

import java.awt.Container;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class JTextAreaDemo extends JFrame {

    JTextField jtfInput;
    JTextArea jtAreaOutput;
    String newline = "\n";

    public JTextAreaDemo() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    private void initComponents() {
        jtfInput = new JTextField(20);
        jtfInput.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                String text = jtfInput.getText();
                jtAreaOutput.append(text + newline);
                jtfInput.selectAll();
            }
        });

        jtAreaOutput = new JTextArea(5, 20);
        jtAreaOutput.setCaretPosition(0);
        jtAreaOutput.setEditable(false);

        JScrollPane scrollPane = new JScrollPane(jtAreaOutput,
                JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
                JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

        GridBagLayout gridBag = new GridBagLayout();
        Container contentPane = getContentPane();
        contentPane.setLayout(gridBag);

        GridBagConstraints gridCons1 = new GridBagConstraints();
        gridCons1.gridwidth = GridBagConstraints.REMAINDER;
        gridCons1.fill = GridBagConstraints.HORIZONTAL;
        contentPane.add(jtfInput, gridCons1);

        GridBagConstraints gridCons2 = new GridBagConstraints();
        gridCons2.weightx = 1.0;
        gridCons2.weighty = 1.0;
        contentPane.add(scrollPane, gridCons2);
    }

    public static void main(String args[]) {
        JTextAreaDemo jTextAreaDemo = new JTextAreaDemo();
        jTextAreaDemo.pack();
        jTextAreaDemo.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
        jTextAreaDemo.setVisible(true);
    }

}

Kết quả :

JTextAreaDemo

Các hàm tạo của JTextArea :

– JTextArea() : Tạo một TextArea mới

– JTextArea(Document doc) : Tạo một JTextArea mới với một document model và mặc định cho tất cả các tham số khác ( null, 0, 0 )

– JTextArea(Document doc, String text, int rows, int columns ) : Tạo một JTextArea mới với một document model và chỉ định số dòng, số cột , text ban đầu

– JTextArea(int rows, int columns) : Tạo một JTextArea mới chỉ định số dòng, số cột

– JTextArea(String text) : Tạo một JTextArea mới chỉ định text hiển thị

– JTextArea(String text, int rows, int columns): Tạo một JTextArea mới chỉ định text hiển thị, số dòng, số cột

Advertisements
Categories: Java Swing
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: