Swing 文本组件是相对比较简单的组件。它建立在由 javax. swing. text包的类和接口提供的一个复杂的下层构件之上。

1、Swing文本组件

JTextArea、JTextField、JPassWordField、JEditorPane、JTextPane

2、动作

文本组件的许多功能都封装在组件编辑软件工具包所提供的动作集中。使用JTextCompo-nent . getActions方法可以获取文本组件的动作,该方法返回一个动作数组。

2.1 文本动作

缺省的情况下,文本组件的动作是TextActions类的一个实例

2.2 动作和编辑工具包

文本组件的动作由组件的编辑工具包来维护。DefaultFalitorKit类提供了一个为所有文本组件所共享的缺省动作集,每一个动作都有相应的名字。

3、键映射

也许文本组件最基本的任务是将击键与特定的动作相关联。每一个文本组件都维护一个键映射来得到;击键与特定动作的对应关系。这个对应关系是在Keymap接口中定义的。我们可以通过JTextComponent 的 getKeymap ()和setKeymap()方法来访问一个文本组件的键映射。
除了使用setKeymap ()方法来设置文本组件的键映射外,还可以通过指定一个键映射及其父映射来把·个键映射添加到文本组件中。当某一个击键在子键映射中找不到它的定义时,将搜索父键映射来寻找它的定义。JTextComponent类提供了许多方法来操纵文本组件的键映射。

4、文档

与其他Swing组件一样,利用修改的模型-视图-控制器体系结构来实现文本组件。文本组件模型是Document 接口的实现。文档维护文本组件的内容和与这个内容相关联的所有属性,这些属性如粗体、斜体等。当内容被改变时,文档还激发文档事件和撤销编辑事件。

4.1 定制文档

通常扩展文档从而提供定制行为,如有的文本域限制所能包含的字符数,有的文本域只允许特定类型的数据。

4.2 文档监听器

用文档监听器可以跟踪文档的修改。

5、加字符与加重器

所有的文本组件都有一个加字符与加重器

5.1 加字符

一个加字符代表在文本组件的视图中可以插入内容的位置。Caret 接口。

5.2 加字符监听器

加字符支持变化监听器,无论加字符的位置在什么时候改变,都会通知变化监听器。加字符监听器实现 javax. swing. event包中的CaretListene接口。

5.3 定制加字符

JTextComponent类提供了一个setCaret方法,从而使swing文本组件可以设置加字符Swing也提供了一个DefaultCaret类,它扩展java. awt .Rectangle并实现Caret 接口。DefaultCaret类能够扩展从而实现定制加字符。

5.4 加重器

使用加重器可以增亮显示文本组件中的一个区域的文本,可以用增亮显示文本来表示文本被选取。当然增亮显示文本也可以用于其他目的,如增亮显示有拚写错误的单词。加重器在Highlighter接口中定义。

6、撤销与恢复

文本域配备有一个可撤销编辑监听器,从而使文档的可撤销编辑能够撤销和恢复。

7、JTextComponent

JTextComponent类是所有swing组件的最终超类。