Java JTextArea

2024年10月24日 | 阅读时长:5 分钟

JTextArea 类的对象是一个多行区域,用于显示文本。它允许编辑多行文本。它继承了 JTextComponent 类。Java 中一个可编辑且显示多行文本的组件由 JTextArea 类表示,它是 javax.swing 包的一个组件。

它是管理图形用户界面 (GUI) 中文本的灵活工具。它提供了专为多行文本显示和输入而设计的额外功能,同时继承了 JTextComponent 类的基本文本编辑和操作功能,JTextArea 类由此扩展而来。

该类经常用于图形用户界面 (GUI) 应用程序中,用户必须输入或查看跨越多行的文本,例如在文本编辑器、聊天程序或表单字段中。开发人员可以使用 JTextArea 为有效的文本输入和操作设计动态、交互式界面。

JTextArea 类声明

让我们看看 javax.swing.JTextArea 类的声明。

JTextArea 是 JTextComponent 的一个子类,除了文本编辑和渲染功能外,还提供了专为处理多行文本材料而设计的额外功能。JTextArea 是一个工具,开发人员可以使用它来构建交互式图形用户界面 (GUI) 应用程序。这些应用程序可用于显示大量文本、允许用户在文本区域中输入或构建支持多行文本的文本编辑器。

常用构造函数

构造函数描述
JTextArea()创建一个文本区域,最初不显示任何文本。
JTextArea(String s)创建一个文本区域,最初显示指定的文本。
JTextArea(int row, int column)创建一个具有指定行数和列数的文本区域,最初不显示任何文本。
JTextArea(String s, int row, int column)创建一个具有指定行数和列数的文本区域,显示指定的文本。

常用方法

方法描述
void setRows(int rows)用于设置指定的行数。
void setColumns(int cols)用于设置指定的列数。
void setFont(Font f)用于设置指定的字体。
void insert(String s, int position)用于在指定位置插入指定的文本。
void append(String s)用于将给定的文本追加到文档的末尾。
int getRows()它检索 JTextArea 中当前的行数。
int getColumns()它检索 JTextArea 中当前的列数。
Font getFont()它检索 JTextArea 中用于文本渲染的当前字体。
void setText(String text)它将 JTextArea 的文本内容设置为指定的文本。
String getText()它检索 JTextArea 的文本内容。
void setEditable(boolean editable)它设置 JTextArea 是否可编辑。
void setLineWrap(boolean wrap)如果 JTextArea 中的行太长而无法适应 JTextArea 的宽度,它会设置是否应该换行。
void setWrapStyleWord(boolean wrapWord)它设置是否应该在 JTextArea 中的单词的最近空格字符处换行。
void append(String str)它将指定的文本追加到 JTextArea 当前文本内容的末尾。
void insert(String str, int pos)它在 JTextArea 内的指定位置插入指定的文本。
void replaceRange(String str, int start, int end)它将指定范围内的文本内容替换为指定的文本。
void setForeground(Color fg)它设置 JTextArea 文本的前景色(文本)颜色。
void setBackground(Color bg)它设置 JTextArea 的背景颜色。

这些技术为调整基于 Swing 的 GUI 应用程序中 JTextArea 组件的外观、行为和内容提供了广泛的功能。它允许开发人员根据自己的需要定制 JTextArea,无论是更改设计、添加文本内容还是执行文本操作功能。

Java JTextArea 示例

文件名:TextAreaExample.java

输出

JAVA Jtextarea 1

说明

该代码初始化了一个名为 area 的 JTextArea 和一个名为 f 的 JFrame。文本 "Welcome to javatpoint" 在 JTextArea 中初始化。使用 setBounds() 方法将 JTextArea 的位置和大小设置为 (10,30),宽度为 200 像素,高度为 200 像素。然后,使用 JTextArea 更新 JFrame。布局管理器专门设置为 null,并且 JFrame 配置为 300x300 像素的大小。当 JFrame 的可见性设置为 true 时,它最终在屏幕上可见。

带有 ActionListener 的 Java JTextArea 示例

文件名:TextAreaExample.java

输出

JAVA Jtextarea 2

说明

上述 Java 程序生成一个 Swing GUI 应用程序,其中包含用于文本输入的 JTextArea、用于计算文本输入中的字符和单词的 JButton,以及用于显示结果的 JLabels。TextAreaExample 类的构造函数初始化 JFrame 和 GUI 元素。字数和字符数分别由两个 JLabels(l1 和 l2)显示。

为了开始计数过程,创建了一个带有标签 "Count Words" 的 JButton (b),并配置了一个用于文本输入的 JTextArea (area)。TextAreaExample 类本身被选为按钮的 ActionListener。每个元素都包含在 JFrame (f) 中。

为了处理按钮单击,ActionListener 接口要求实现 actionPerformed 函数。单击按钮后,使用 getText() 检索输入到 JTextArea 中的文本。然后,使用 split() 方法根据空格将文本分成单词,利用正则表达式 "\s" 来实现这一点。

使用 JLabels 上的 setText() 函数来计算和显示单词和字符的数量。Main 方法创建 TextAreaExample 对象并初始化和显示 GUI 给用户。

结论

总而言之,Java JTextArea 类是处理基于 Swing 的图形用户界面 (GUI) 中多行文本的基本工具。由于它从 JTextComponent 继承而来,它提供了用于文本显示、编辑和操作的多种功能。开发人员可以设计动态和交互式 GUI 应用程序,例如文本编辑器、聊天程序或表单字段,在这些应用程序中,用户必须在多行中输入或查看文本,这归功于它的灵活性和多样性。总而言之,JTextArea 是 Java 的 Swing 工具包中的一个强大组成部分,它允许程序员为一系列应用程序设计复杂且直观的基于文本的用户界面。通过有效地利用其功能,开发人员可以增强用户体验,并构建定制的图形用户界面程序以满足某些需求和规范。


下一个主题Java JPasswordField