使用 Literals 组件
本节提供了使用 Swing 文本组件时可能需要的背景信息。如果您打算使用无样式的文本组件(text field,password field,格式化文本字段或text area),请转到其使用方法页面,并仅在必要时返回此处。如果您打算使用样式化的文本组件,请参见如何使用编辑器窗格和文本窗格,并阅读本节。如果您不知道需要哪个组件,请 continue 阅读。
Swing 文本组件显示文本,并可以选择允许用户编辑文本。程序需要文本组件来执行各种任务,从简单的操作(Importing 单词并按 Enter)到复杂的操作(显示和编辑带有亚洲语言的嵌入式图像的样式化文本)。
Swing 提供了六个文本组件,以及甚至可以满足最复杂的文本要求的支持类和interface。尽管它们的用法和功能不同,但是所有 Swing 文本组件都继承自同一超类JTextComponent,该超类为文本操作提供了高度可配置且强大的基础。
下图显示了JTextComponent
层次结构。
下图显示了一个名为TextSamplerDemo
的应用程序,该应用程序使用每个 Swing 文本组件。
Try this:
-
单击启动按钮以使用Java™Web 开始(下载 JDK 7 或更高版本)运行 TextSamplerDemo。另外,要自己编译和运行示例,请查阅example index。
-
在文本字段中 Importing 一些文本,然后按 Enter。在密码字段中执行相同的操作。当您按 Enter 键时,字段下方的标签将更新。
-
try在格式文本字段中 Importing 有效日期和无效日期。请注意,当您按 Enter 键时,仅当日期有效时,字段下方的标签才会更新。
-
在文本区域和文本窗格中选择并编辑文本。使用键盘绑定 Ctrl-X,Ctrl-C 和 Ctrl-V 分别剪切,复制和粘贴文本。
-
try在编辑器窗格中编辑文本,该文本已通过调用
setEditable
变为不可编辑。 -
在文本窗格中查找以找到嵌入式组件和嵌入式图标的示例。
TextSamplerDemo
示例以非常基本的方式使用文本组件。下表详细介绍了每种文本组件可以做什么。
Group | Description | Swing Classes |
---|---|---|
Text Controls | 文本控件也简称为文本字段,只能显示一行可编辑文本。像按钮一样,它们生成动作事件。使用它们可从用户那里获取少量文本信息,并在文本 Importing 完成后执行操作。 | JTextField及其子类JPasswordField和JFormattedTextField |
纯文本区域 | JTextArea 可以显示多行可编辑的文本。尽管文本区域可以显示任何字体的文本,但是所有文本都使用相同的字体。使用文本区域允许用户 Importing 任意 Long 度的未格式化文本或显示未格式化帮助信息。 | JTextArea |
样式 Literals 区域 | 样式化的文本组件可以使用一种以上的字体显示可编辑的文本。一些样式化的文本组件允许嵌入图像甚至嵌入组件。带样式的文本组件是功能强大的多面组件,适合高端需求,并且比其他文本组件提供了更多的自定义途径。 | |
由于样式文本组件是如此强大和灵活,因此通常需要更多的初始编程来设置和使用。一个 exception 是,编辑器窗格可以轻松地从 URL 加载格式化的文本,这使它们对于显示不可编辑的帮助信息很有用。 JEditorPane 及其子类 JTextPane |
本教程提供有关JTextComponent
类奠定的基础的信息,并告诉您如何完成一些与文本相关的常见任务。
要了解有关 JavaFX 中文本组件的更多信息,请参阅在 JavaFX 中使用文本和文本效果和使用 JavaFX UI 控件:文本字段教程。