java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent javax.swing.text.JTextComponent javax.swing.JTextArea
public class JTextArea
JTextArea
是一个显示纯文本的多行区域。它作为一个轻量级组件,提供与 java.awt.TextArea
类的源兼容性,理应如此。有关使用所有文本组件的信息和示例,请参阅 The Java Tutorial 中 Using Text Components 一节。
此组件具有 java.awt.TextArea
类中没有的功能。有关其他功能,请参考超类。还有 JTextPane
和 JEditorPane
也是具有更多功能的多行文本类。
java.awt.TextArea
在内部处理滚动。JTextArea
的不同之处在于,它不管理滚动,但实现了 swing Scrollable
接口。这允许把它放置在 JScrollPane
的内部(如果需要滚动行为),或者直接使用(如果不需要滚动)。
java.awt.TextArea
具有换行能力。这由水平滚动策略来控制。由于滚动不是由 JTextArea
直接完成的,因此必须通过另一种方式来提供向后兼容性。JTextArea
具有用于换行的绑定 (bound) 属性,该属性控制其是否换行。在默认情况下,换行属性设置为 false(不换行)。
java.awt.TextArea
具有两个属性 rows
和 columns
,这两个属性用来确定首选大小。JTextArea
用这些属性来指示 viewport 的首选大小,此 viewport 被放置到 JScrollPane
中以匹配由 java.awt.TextArea
提供的功能。JTextArea
具有显示所有文本所需的首选大小,以便在 JScrollPane
内部正常工作。如果 rows
或 columns
的值等于 0,则沿该轴的首选大小将用于沿相同轴上 viewport 的首选大小。
可以通过添加一个 TextEvent
的 TextListener
来对 java.awt.TextArea
的更改进行监视。在基于 JTextComponent
的组件中,更改通过 DocumentEvent
从模型传播到 DocumentListeners
。DocumentEvent
给出了更改的位置和更改种类(如果需要)。代码片段如下所示:
DocumentListener myListener = ??; JTextArea myArea = ??; myArea.getDocument().addDocumentListener(myListener);
警告:Swing 不是线程安全的。有关更多信息,请参阅 Swing's Threading Policy。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前序列化支持适用于短期存储,或适用于在运行相同 Swing 版本的应用程序之间进行 RMI(Remote Method Invocation,远程方法调用)。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
JTextPane
,
JEditorPane
嵌套类摘要 | |
---|---|
protected class |
JTextArea.AccessibleJTextArea 此类实现对 JTextArea 类的可访问性支持。 |
从类 javax.swing.text.JTextComponent 继承的嵌套类/接口 |
---|
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding |
从类 javax.swing.JComponent 继承的嵌套类/接口 |
---|
JComponent.AccessibleJComponent |
从类 java.awt.Container 继承的嵌套类/接口 |
---|
Container.AccessibleAWTContainer |
从类 java.awt.Component 继承的嵌套类/接口 |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
字段摘要 |
---|
从类 javax.swing.text.JTextComponent 继承的字段 |
---|
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY |
从类 javax.swing.JComponent 继承的字段 |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
从类 java.awt.Component 继承的字段 |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
JTextArea() 构造新的 TextArea。 |
|
JTextArea(Document doc) 构造新的 JTextArea,使其具有给定的文档模型,所有其他参数均默认为 (null, 0, 0)。 |
|
JTextArea(Document doc, String text, int rows, int columns) 构造具有指定行数和列数以及给定模型的新的 JTextArea。 |
|
JTextArea(int rows, int columns) 构造具有指定行数和列数的新的空 TextArea。 |
|
JTextArea(String text) 构造显示指定文本的新的 TextArea。 |
|
JTextArea(String text, int rows, int columns) 构造具有指定文本、行数和列数的新的 TextArea。 |
方法摘要 | |
---|---|
void |
append(String str) 将给定文本追加到文档结尾。 |
protected Document |
createDefaultModel() 如果没有显式给出构造时要使用的模型,则创建该模型的默认实现。 |
AccessibleContext |
getAccessibleContext() 获取与此 JTextArea 关联的 AccessibleContext。 |
int |
getColumns() 返回 TextArea 中的列数。 |
protected int |
getColumnWidth() 获取列的宽度。 |
int |
getLineCount() 确定文本区中所包含的行数。 |
int |
getLineEndOffset(int line) 确定给定行结尾处的偏移量。 |
int |
getLineOfOffset(int offset) 将组件文本中的偏移量转换为行号。 |
int |
getLineStartOffset(int line) 确定给定行起始处的偏移量。 |
boolean |
getLineWrap() 获取文本区的换行策略。 |
Dimension |
getPreferredScrollableViewportSize() 如果此组件被嵌入 JScrollPane 中,则返回 viewport 的首选大小。 |
Dimension |
getPreferredSize() 返回 TextArea 的首选大小。 |
protected int |
getRowHeight() 定义行高的意义。 |
int |
getRows() 返回 TextArea 中的行数。 |
boolean |
getScrollableTracksViewportWidth() 如果 viewport 总是强制要求此 Scrollable 的宽度与 viewport 的宽度相匹配,则返回 true。 |
int |
getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) 显示逻辑行或列的组件应根据方向的值计算滚动增量,此滚动增量将完全显示一个新行或新列。 |
int |
getTabSize() 获取用于扩展选项卡的字符数。 |
String |
getUIClassID() 返回 UI 的类 ID。 |
boolean |
getWrapStyleWord() 获取换行方式(如果文本区要换行)。 |
void |
insert(String str, int pos) 将指定文本插入指定位置。 |
protected String |
paramString() 返回此 JTextArea 的字符串表示形式。 |
void |
replaceRange(String str, int start, int end) 用给定的新文本替换从指示的起始位置到结尾位置的文本。 |
void |
setColumns(int columns) 设置此 TextArea 中的列数。 |
void |
setFont(Font f) 设置当前字体。 |
void |
setLineWrap(boolean wrap) 设置文本区的换行策略。 |
void |
setRows(int rows) 设置此 TextArea 的行数。 |
void |
setTabSize(int size) 设置选项卡要扩大到的字符数。 |
void |
setWrapStyleWord(boolean word) 设置换行方式(如果文本区要换行)。 |