认识Swing的文字输入组件:

来源:互联网 发布:今年好听的网络歌曲 编辑:程序博客网 时间:2024/05/01 22:57

认识Swing的文字输入组件:

Swing与文字输入有关的组件分别是JTextField、JPasswordField、JTextArea、JEditorPane与JTextPane.JTextField与 JPasswordField为单行的文本编辑器;JTextArea为多行的文本编辑器;JEditorPane可显示多种文件格式;JTextPane可设置文件各种 样式。这些组件都继承了JTextComponent为类,它们之间的关系如下:

                 |--JTextField--JPasswordField                 |   JTextComponent|                 |--JTextArea                 |                 |--JEditorPane--JTextPane

JTextComponent提供了相当多实用的方法,可使处理输入组件更为方便,例如copy(),paste(),cut(),getText(),setText()等 相当直觉的方法:另外还有设置是否可编辑(setEditable()),setSelectionEnd(),setSelectionStart())、设置或取得光标位置 (getCaretPosition(),setCaretPosition())等等,这些相当常用的方法你都可以在JTextComponent类中找到.

Swing的文字输入组件均以Document来当作数据模式,当输入组件的内容有所改变时,均是更改此Document的内容。因此你可 以将同一个Document内容以不同的输入组件来显示,这就是MVC概念的一个基本应用。Document为一个interface,你可以实现此界 面或利用java提供的默认类来构造文字输入组件。

       |---implements-->AbstractDocument---extends->PlainDocument       |                     Document |                              |       |--extends-->StyleDocument---implements--->DefaultStyleDocument---extends--->HTMLDocument              AbstractDocument----extends-->DefaultStyleDocument

PlainDocument是一个实体类,已经实现了AbstractDocument与Document中的所有抽象方法,你可以用此类直接构造出JTextField 、JPasswordField与JTextArea组件;相同的,你可以使用DefaultStyledDocument构造出JTextPane组件,这些关系我们均会在下面 各节中提到。下面我们开始介绍各种文字输入组件的使用.