文档

Java™ 教程
隐藏目录
使用文本组件
教程:使用Swing创建GUI
课程:使用Swing组件

使用文本组件

本节提供了在使用Swing文本组件时可能需要的背景信息。如果您打算使用非样式化的文本组件 - 如文本字段、密码字段、格式化文本字段或文本区域 - 请转到其操作页面,仅在必要时返回此处。如果您打算使用样式化的文本组件,请参阅《如何使用编辑窗格和文本窗格》,同时阅读本节。如果您不知道需要哪个组件,请继续阅读。

Swing文本组件显示文本并可选择允许用户编辑文本。程序需要文本组件来完成从简单任务(输入一个单词并按下Enter键)到复杂任务(显示和编辑带有嵌入图像的样式化文本,如亚洲语言)。

Swing提供了六个文本组件,以及支持各种复杂文本需求的支持类和接口。尽管它们具有不同的用途和功能,但所有Swing文本组件都继承自相同的超类JTextComponent,它为文本操作提供了高度可配置和强大的基础。

以下图显示了JTextComponent的层次结构。

Swing的文本组件层次结构

以下图片显示了一个名为TextSamplerDemo的应用程序,使用了每个Swing文本组件。

提供每个Swing文本组件示例的应用程序

试一试: 
  1. 点击“启动”按钮,使用Java™ Web Start 运行TextSamplerDemo(下载JDK 7或更高版本)。或者,如果要自己编译和运行示例,请参考示例索引启动TextSamplerDemo应用程序
  2. 在文本字段中输入一些文本,然后按Enter键。在密码字段中也进行同样的操作。在按下Enter键时,字段下方的标签将更新。
  3. 尝试在格式化文本字段中输入有效日期和无效日期。请注意,只有日期有效时,按下Enter键时字段下方的标签才会更新。
  4. 选择并编辑文本区域和文本窗格中的文本。使用键盘绑定,Ctrl-X、Ctrl-C和Ctrl-V分别进行剪切、复制和粘贴文本。
  5. 尝试编辑文本窗格中的文本,该文本窗格通过调用setEditable方法被设置为不可编辑。
  6. 在文本窗格中查找一个嵌入组件和一个嵌入图标的示例。

TextSamplerDemo示例以非常基本的方式使用文本组件。以下表格告诉您有关每种文本组件的更多信息。

描述 Swing 类
文本控件 也简称为文本字段,文本控件只能显示一行可编辑的文本。与按钮类似,它们会生成动作事件。您可以使用它们从用户那里获取少量文本信息,并在文本输入完成后执行操作。 JTextField 及其子类 JPasswordFieldJFormattedTextField
普通文本区域 JTextArea 可以显示多行可编辑的文本。虽然文本区域可以使用任何字体显示文本,但所有文本都是相同的字体。使用文本区域允许用户输入任意长度的未格式化文本或显示未格式化的帮助信息。 JTextArea
样式文本区域 样式文本组件可以使用多种字体显示可编辑的文本。某些样式文本组件允许嵌入图像甚至嵌入组件。样式文本组件是功能强大、多面手的组件,适用于高端需求,并提供比其他文本组件更多的自定义途径。

由于它们如此强大和灵活,样式文本组件通常需要更多的初始编程来设置和使用。一个例外是编辑器窗格可以轻松地从 URL 加载格式化文本,这使它们非常适用于显示不可编辑的帮助信息。

JEditorPane
及其子类
JTextPane

本教程提供了关于 JTextComponent 类所奠定的基础的信息,并告诉您如何完成一些常见的与文本相关的任务。

要了解有关 JavaFX 中的文本组件的更多信息,请参阅 在 JavaFX 中使用文本和文本效果使用 JavaFX UI 控件:文本字段 教程。


上一页: JComponent 类
下一页: 文本组件功能