如何在 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); } }); } }
輸出
廣告