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ả
