本教程适用于JDK 8。本页面中描述的示例和实践不利用后续版本中引入的改进,并且可能使用已不再可用的技术。
有关Java SE 9及其后续版本中更新的语言功能的摘要,请参阅Java语言更改。
有关所有JDK版本的新功能、增强功能以及已删除或不推荐使用的选项的信息,请参阅JDK发行说明。
此部分列出了文本组件共享的常用API部分。其中大部分API由JTextComponent类定义。关于如何使用此API的信息,请参阅文本组件功能。
JComponent类描述了文本组件从JComponent继承的API。有关特定文本组件相关的API,请参阅该组件的how-to页面:文本字段,密码字段,格式化文本字段,文本区域,或编辑器窗格和文本窗格。
有关文本API的完整详细信息,请参阅JTextComponent和文本包中的各个类和接口的API文档。
此部分列出的API包括以下类别:
| 方法 | 描述 |
|---|---|
| void setEditable(boolean) boolean isEditable() |
设置或指示用户是否可以编辑文本组件中的文本。 |
| void setDragEnabled(boolean) boolean getDragEnabled() |
设置或获取dragEnabled属性,该属性必须为true才能在此组件上启用拖放处理。默认值为false。有关更多详细信息,请参见拖放和数据传输。 |
| void setDisabledTextColor(Color) Color getDisabledTextColor() |
设置或获取文本组件禁用时用于显示文本的颜色。 |
| void setMargin(Insets) Insets getMargin() |
设置或获取文本和文本组件边框之间的边距。 |
| 方法 | 描述 |
|---|---|
| String getSelectedText() | 获取当前选择的文本。 |
| void selectAll() void select(int, int) |
选择所有文本或选择起始和结束范围内的文本。 |
| void setSelectionStart(int) void setSelectionEnd(int) int getSelectionStart() int getSelectionEnd() |
通过索引设置或获取当前选择的范围。 |
| void setSelectedTextColor(Color) Color getSelectedTextColor() |
设置或获取所选文本的颜色。 |
| void setSelectionColor(Color) Color getSelectionColor() |
设置或获取所选文本的背景颜色。 |
| 方法 | 描述 |
|---|---|
| int viewToModel(Point) | 将视图坐标系中的指定点转换为文本内的位置。 |
| Rectangle modelToView(int) | 将文本内的指定位置转换为视图坐标系中的矩形。 |
JTextComponent 中)EditorKitDefaultEditorKitEditorKitStyledEditorKitDefault EditorKitString xxxxAction
DefaultEditorKit 中)将文本操作与菜单和按钮关联BeepAction
DefaultEditorKit 中)AlignmentAction
StyledEditorKit中)Action[] getActions()
JTextComponent中)InputMap getInputMap()
JComponent中)将文本操作与按键绑定void put(KeyStroke, Object)
InputMap中)DefaultEditorKit.backwardAction
| 接口或类 | 描述 |
|---|---|
| Document | 定义所有文档必须实现的API的接口。 |
| AbstractDocument | 实现了Document接口的抽象超类。这是Swing文本包提供的所有文档的超类。 |
| PlainDocument | 实现了Document接口的类。这是纯文本组件(文本框、密码框和文本区域)的默认文档。此外,当加载纯文本或未知格式的文本时,编辑器窗格和文本窗格也使用此类。 |
| StyledDocument | 一个Document子接口。定义支持样式文本的文档必须实现的API。JTextPane要求其文档为此类型。 |
| DefaultStyledDocument | 实现了StyledDocument接口的类。是JTextPane的默认文档。 |
AbstractDocument中)void setDocument(Document)
JTextComponent中)Document createDefaultModel()
JTextField中)PlainDocumentvoid addDocumentListener(DocumentListener)
Document中)监听文档的变化void addUndoableEditListener(UndoableEditListener)
Document中)实现撤销和重做int getLength()
Document中)DocumentObject getProperty(Object)
Document中)
AbstractDocument中)Document
JTextComponent类中定义。CaretDefaultCaretvoid setCaret(Caret)
| 方法 | 描述 |
|---|---|
| void read(Reader, Object) void write(Writer) (在 JTextComponent 中) |
读取或写入文本。 |
| void read(Reader, Document, int) void read(InputStream, Document, int) (在 EditorKit 中) |
从流中读取文本到文档中。 |
| void write(Writer, Document, int, int) void write(OutputStream, Document, int, int) (在 EditorKit 中) |
将文档中的文本写入流中。 |