Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Cách triển khai line wrap và word wrap trong JTextArea Java

JTextArea là component văn bản đa dòng hiển thị text hoặc cho phép nhập text, tạo giao diện CaretListener khi triển khai chức năng JTextArea. Lớp JTextArea kế thừa JTextComponent.

Trong ví dụ dưới, triển khai JTextArea cho user chọn checkbox word wrap hoặc line wrap dùng giao diện ItemListener.

Ví dụ

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class JTextAreaTest {
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                JFrame frame = new JFrame("JTextArea Test");
                frame.setSize(350, 275);
                final JTextArea textArea = new JTextArea(15, 65);
                frame.add(new JScrollPane(textArea));
                final JCheckBox wordWrap = new JCheckBox("word wrap");
                wordWrap.setSelected(textArea.getWrapStyleWord());
                wordWrap.addItemListener(new ItemListener() {
                    @Override
                    public void itemStateChanged(ItemEvent ie) {
                        textArea.setWrapStyleWord(wordWrap.isSelected());
                    }
                });
                frame.add(wordWrap, BorderLayout.NORTH);
                final JCheckBox lineWrap = new JCheckBox("line wrap");
                lineWrap.setSelected(textArea.getLineWrap());
                lineWrap.addItemListener(new ItemListener() {
                    @Override
                    public void itemStateChanged(ItemEvent ie) {
                        textArea.setLineWrap(lineWrap.isSelected());
                    }
                });
                frame.add(lineWrap, BorderLayout.SOUTH);
                frame.setLocationRelativeTo(null);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
            }
        });
    }
}

Kết quả

Cách triển khai line wrap và word wrap trong JTextArea Java