如何在 Java 中的 JTextArea 中實現文字自動換行和單詞自動換行?
JTextArea 是一個多行文字元件,用於顯示文字或允許使用者輸入文字,並且當我們嘗試實現JTextArea 元件時,它將生成一個CaretListener 介面。JTextArea 類繼承了 Java 中的JTextComponent 類。
在以下示例中,我們可以實現一個JTextArea 類,其中使用者可以選擇使用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);
}
});
}
}輸出
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP