Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

วิธีทำ Line Wrap และ Word Wrap ใน JTextArea ด้วย Java

JTextArea เป็นคอมโพเนนต์ข้อความหลายบรรทัด แสดงข้อความหรือรับป้อนข้อความ สร้าง CaretListener เมื่อใช้งาน JTextArea JTextArea สืบทอดจาก JTextComponent

ตัวอย่างด้านล่าง ใช้ JCheckBox ให้ผู้ใช้เลือกเปิด/ปิด Word Wrap หรือ Line Wrap ผ่าน ItemListener

ตัวอย่างโค้ด

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);
            }
        });
    }
}

ผลลัพธ์

วิธีทำ Line Wrap และ Word Wrap ใน JTextArea ด้วย Java