- 所有已实现的接口:
ImageObserver,MenuContainer,Serializable,Accessible,Scrollable
JTextArea 是显示纯文本的多行区域。它旨在成为一个轻量级组件,在合理的情况下提供与 java.awt.TextArea 类的源代码兼容性。您可以在 使用文本组件 中找到使用所有文本组件的信息和示例,这是 The Java Tutorial. 中的一个部分
该组件具有 java.awt.TextArea 类中没有的功能。应该咨询超类以获得额外的能力。具有更多功能的替代多行文本类是 JTextPane 和 JEditorPane。
java.awt.TextArea 内部处理滚动。 JTextArea 不同的是它不管理滚动,而是实现了 swing Scrollable 接口。如果需要滚动行为,这允许它放在 JScrollPane 内,如果不需要滚动,则直接使用。
java.awt.TextArea 具有换行的能力。这是由水平滚动策略控制的。由于滚动不是由 JTextArea 直接完成的,因此必须以另一种方式提供向后兼容性。 JTextArea 具有用于换行的绑定属性,用于控制是否换行。默认情况下,换行属性设置为 false(不换行)。
java.awt.TextArea 有两个属性 rows 和 columns 用于确定首选大小。 JTextArea 使用这些属性来指示放置在 JScrollPane 中时视口的首选大小,以匹配 java.awt.TextArea 提供的功能。 JTextArea 具有显示所有文本所需的首选大小,以便它在 JScrollPane 内正常运行。如果 rows 或 columns 的值等于零,则沿该轴的首选大小将用于沿同一轴的视口首选大小。
可以通过为 TextEvent s 添加 TextListener 来监视 java.awt.TextArea 的变化。在基于 JTextComponent 的组件中,更改从模型通过 DocumentEvent 广播到 DocumentListeners。 DocumentEvent 给出更改的位置和更改的类型(如果需要)。代码片段可能类似于:
DocumentListener myListener = ??; JTextArea myArea = ??; myArea.getDocument().addDocumentListener(myListener);
- 换行符
- 有关如何处理换行符的讨论,请参阅 DefaultEditorKit。
Warning: Swing 不是线程安全的。有关详细信息,请参阅 Swing 的线程策略。
Warning: 此类的序列化对象将与未来的 Swing 版本不兼容。当前的序列化支持适用于运行相同版本 Swing 的应用程序之间的短期存储或 RMI。从 1.4 开始,对所有 JavaBeans 的长期存储的支持已添加到 java.beans 包中。请参阅 XMLEncoder 。
- 自从:
- 1.2
- 参见:
-
内部类总结
内部类在类 javax.swing.text.JTextComponent 中声明的嵌套类/接口
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding在类 javax.swing.JComponent 中声明的嵌套类/接口
JComponent.AccessibleJComponent在类 java.awt.Container 中声明的嵌套类/接口
Container.AccessibleAWTContainer -
字段摘要
在类 javax.swing.text.JTextComponent 中声明的字段
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY在类 javax.swing.JComponent 中声明的字段
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW在类 java.awt.Component 中声明的字段
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT在接口 java.awt.image.ImageObserver 中声明的字段
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
构造方法总结
构造方法构造方法描述构造一个新的 TextArea。JTextArea(int rows, int columns) 构造一个具有指定行数和列数的新空 TextArea。构造一个显示指定文本的新 TextArea。构造一个具有指定文本以及行数和列数的新 TextArea。使用给定的文档模型构造一个新的 JTextArea,并为所有其他参数(null、0、0)设置默认值。构造具有指定行数和列数以及给定模型的新 JTextArea。 -
方法总结
修饰符和类型方法描述void将给定的文本附加到文档的末尾。protected Document如果未明确给出,则创建要在构造时使用的模型的默认实现。获取与此 JTextArea 关联的 AccessibleContext。int返回 TextArea 中的列数。protected int获取列宽。int确定区域中包含的行数。intgetLineEndOffset(int line) 确定给定行末尾的偏移量。intgetLineOfOffset(int offset) 将偏移量转换为组件文本到行号。intgetLineStartOffset(int line) 确定给定行开始的偏移量。boolean获取文本区域的换行策略。如果此组件嵌入在 JScrollPane 中,则返回视口的首选大小。返回 TextArea 的首选大小。protected int定义行高的含义。intgetRows()返回 TextArea 中的行数。boolean如果视口应始终强制此 Scrollable 的宽度与视口的宽度相匹配,则返回 true。intgetScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction) 显示逻辑行或列的组件应根据 orientation 的值计算将完全显示新行或新列的滚动增量。int获取用于展开制表符的字符数。返回 UI 的类 ID。boolean获取文本区域换行时使用的换行样式。void在指定位置插入指定文本。protected String返回此 JTextArea 的字符串表示形式。voidreplaceRange(String str, int start, int end) 用指定的新文本替换从指示的开始到结束位置的文本。voidsetColumns(int columns) 设置此 TextArea 的列数。void设置当前字体。voidsetLineWrap(boolean wrap) 设置文本区域的换行策略。voidsetRows(int rows) 设置此 TextArea 的行数。voidsetTabSize(int size) 设置要将选项卡扩展到的字符数。voidsetWrapStyleWord(boolean word) 设置文本区域换行时使用的换行样式。在类 javax.swing.text.JTextComponent 中声明的方法
addCaretListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, read, removeCaretListener, removeKeymap, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDocument, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, updateUI, viewToModel, viewToModel2D, write在类 javax.swing.JComponent 中声明的方法
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update在类 java.awt.Container 中声明的方法
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree在类 java.awt.Component 中声明的方法
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
构造方法详细信息
-
JTextArea
public JTextArea()构造一个新的 TextArea。设置默认模型,初始字符串为空,行/列设置为 0。 -
JTextArea
构造一个显示指定文本的新 TextArea。创建默认模型并将行/列设置为 0。- 参数:
text- 要显示的文本,或者为 null
-
JTextArea
public JTextArea(int rows, int columns) 构造一个具有指定行数和列数的新空 TextArea。创建默认模型,初始字符串为空。- 参数:
rows- 行数 >= 0columns- 列数 >= 0- 抛出:
IllegalArgumentException- 如果行或列参数为负。
-
JTextArea
构造一个具有指定文本以及行数和列数的新 TextArea。创建默认模型。- 参数:
text- 要显示的文本,或者为 nullrows- 行数 >= 0columns- 列数 >= 0- 抛出:
IllegalArgumentException- 如果行或列参数为负。
-
JTextArea
使用给定的文档模型构造一个新的 JTextArea,并为所有其他参数(null、0、0)设置默认值。- 参数:
doc- 要使用的模型
-
JTextArea
构造具有指定行数和列数以及给定模型的新 JTextArea。所有的构造方法都通过这个构造方法。- 参数:
doc- 要使用的模型,如果为 null,则创建默认模型text- 要显示的文本,如果没有则为 nullrows- 行数 >= 0columns- 列数 >= 0- 抛出:
IllegalArgumentException- 如果行或列参数为负。
-
-
方法详情
-
getUIClassID
返回 UI 的类 ID。- 重写:
getUIClassID在类JComponent中- 返回:
- 字符串“TextAreaUI”
- 参见:
-
createDefaultModel
如果未明确给出,则创建要在构造时使用的模型的默认实现。返回一个新的 PlainDocument 实例。- 返回:
- 默认文档模型
-
setTabSize
@BeanProperty (preferred =true, description ="the number of characters to expand tabs to") public void setTabSize(int size) 设置要将选项卡扩展到的字符数。这将乘以可变宽度字体的最大提前量。选项卡大小更改时会触发 PropertyChange 事件(“tabSize”)。- 参数:
size- 要扩展到的字符数- 参见:
-
getTabSize
public int getTabSize()获取用于展开制表符的字符数。如果文档为 null 或没有选项卡设置,则返回默认值 8。- 返回:
- 字符数
-
setLineWrap
@BeanProperty (preferred =true, description ="should lines be wrapped") public void setLineWrap(boolean wrap) 设置文本区域的换行策略。如果设置为 true,如果行太长而无法适应分配的宽度,则行将被换行。如果设置为 false,线条将始终展开。更改策略时会触发PropertyChange事件(“lineWrap”)。默认情况下,此属性为 false。- 参数:
wrap- 指示是否应换行- 参见:
-
getLineWrap
public boolean getLineWrap()获取文本区域的换行策略。如果设置为 true,如果行太长而无法适应分配的宽度,则行将被换行。如果设置为 false,线条将始终展开。- 返回:
- 是否换行
-
setWrapStyleWord
@BeanProperty (description ="should wrapping occur at word boundaries") public void setWrapStyleWord(boolean word) 设置文本区域换行时使用的换行样式。如果设置为 true,如果行太长而无法容纳在分配的宽度内,则行将在单词边界(空白)处换行。如果设置为 false,行将在字符边界处换行。默认情况下,此属性为 false。- 参数:
word- 指示是否应将字边界用于换行- 参见:
-
getWrapStyleWord
public boolean getWrapStyleWord()获取文本区域换行时使用的换行样式。如果设置为 true,如果行太长而无法适应分配的宽度,则行将在单词边界处换行(即空白)。如果设置为 false,行将在字符边界处换行。- 返回:
- 如果换行样式应该是单词边界而不是字符边界
- 参见:
-
getLineOfOffset
将偏移量转换为组件文本到行号。- 参数:
offset- 偏移量 >= 0- 返回:
- 行号 >= 0
- 抛出:
BadLocationException- 如果偏移量小于零或大于文档长度则抛出。
-
getLineCount
确定区域中包含的行数。- 返回:
- 行数 > 0
-
getLineStartOffset
确定给定行开始的偏移量。- 参数:
line- 要翻译的行号 >= 0- 返回:
- offset >= 0
- 抛出:
BadLocationException- 如果该行小于零或大于或等于文档中包含的行数(由 getLineCount 报告)则抛出。
-
getLineEndOffset
确定给定行末尾的偏移量。- 参数:
line- 行 >= 0- 返回:
- offset >= 0
- 抛出:
BadLocationException- 如果该行小于零或大于或等于文档中包含的行数(由 getLineCount 报告),则抛出。
-
insert
在指定位置插入指定文本。如果模型为 null 或者文本为 null 或为空,则不执行任何操作。- 参数:
str- 要插入的文本pos- 插入 >= 0 的位置- 抛出:
IllegalArgumentException- 如果 pos 是模型中的无效位置- 参见:
-
append
将给定的文本附加到文档的末尾。如果模型为 null 或者字符串为 null 或空,则不执行任何操作。- 参数:
str- 要插入的文本- 参见:
-
replaceRange
用指定的新文本替换从指示的开始到结束位置的文本。如果模型为空,则不执行任何操作。如果新字符串为 null 或为空,则只需执行删除操作。- 参数:
str- 用作替换的文本start- 开始位置 >= 0end- 结束位置 >= 开始- 抛出:
IllegalArgumentException- 如果部分范围是模型中的无效位置- 参见:
-
getRows
public int getRows()返回 TextArea 中的行数。- 返回:
- 行数 >= 0
-
setRows
@BeanProperty (bound =false, description ="the number of rows preferred for display") public void setRows(int rows) 设置此 TextArea 的行数。设置新值后调用 invalidate()。- 参数:
rows- 行数 >= 0- 抛出:
IllegalArgumentException- 如果行数小于 0- 参见:
-
getRowHeight
protected int getRowHeight()定义行高的含义。这默认为字体的高度。- 返回:
- height >= 1
-
getColumns
public int getColumns()返回 TextArea 中的列数。- 返回:
- 列数 >= 0
-
setColumns
@BeanProperty (bound =false, description ="the number of columns preferred for display") public void setColumns(int columns) 设置此 TextArea 的列数。设置新值后执行 invalidate()。- 参数:
columns- 列数 >= 0- 抛出:
IllegalArgumentException- 如果列小于 0- 参见:
-
getColumnWidth
protected int getColumnWidth()获取列宽。对于某些字体,列的含义可以被认为是一个相当弱的概念。此方法用于定义列的宽度。默认情况下,这被定义为所用字体的字符 m 的宽度。可以将此方法重新定义为某个替代量。- 返回:
- 列宽 >= 1
-
getPreferredSize
返回 TextArea 的首选大小。这是显示文本所需的大小和视口请求的大小中的最大值。- 重写:
getPreferredSize在类JComponent中- 返回:
- 尺寸
- 参见:
-
setFont
设置当前字体。这将删除缓存的行高和列宽,以便反映新字体,并调用 revalidate()。- 重写:
setFont在类JComponent中- 参数:
f- 用作当前字体的字体- 参见:
-
paramString
返回此 JTextArea 的字符串表示形式。此方法仅用于调试目的,返回字符串的内容和格式可能因实现而异。返回的字符串可能为空,但可能不是null。- 重写:
paramString在类JTextComponent中- 返回:
- 此 JTextArea 的字符串表示形式。
-
getScrollableTracksViewportWidth
如果视口应始终强制此 Scrollable 的宽度与视口的宽度相匹配,则返回 true。如果换行策略为真,则返回 true,如果没有换行,则返回 false。- 指定者:
getScrollableTracksViewportWidth在接口Scrollable中- 重写:
getScrollableTracksViewportWidth在类JTextComponent中- 返回:
- 如果视口应强制 Scrollable 的宽度与其自身的宽度相匹配,则为 true。
-
getPreferredScrollableViewportSize
如果此组件嵌入在 JScrollPane 中,则返回视口的首选大小。这将使用所需的列和行设置(如果已设置),否则使用超类行为。- 指定者:
getPreferredScrollableViewportSize在接口Scrollable中- 重写:
getPreferredScrollableViewportSize在类JTextComponent中- 返回:
- 其视图为此 Scrollable 的 JViewport 的 preferredSize。
- 参见:
-
getScrollableUnitIncrement
显示逻辑行或列的组件应根据 orientation 的值计算将完全显示新行或新列的滚动增量。这是为了使用getRowHeight和getColumnWidth方法返回的值而实现的。滚动容器,如 JScrollPane,将在每次用户请求单位滚动时使用此方法。
- 指定者:
getScrollableUnitIncrement在接口Scrollable中- 重写:
getScrollableUnitIncrement在类JTextComponent中- 参数:
visibleRect- 视口内可见的视图区域orientation- SwingConstants.VERTICAL 或 SwingConstants.HORIZONTAL。direction- 小于零向上/向左滚动,大于零向下/向右滚动。- 返回:
- 指定方向滚动的“单位”增量
- 抛出:
IllegalArgumentException- 方向无效- 参见:
-
getAccessibleContext
获取与此 JTextArea 关联的 AccessibleContext。对于 JTextAreas,AccessibleContext 采用 AccessibleJTextArea 的形式。如有必要,将创建一个新的 AccessibleJTextArea 实例。- 指定者:
getAccessibleContext在接口Accessible中- 重写:
getAccessibleContext在类JTextComponent中- 返回:
- 作为此 JTextArea 的 AccessibleContext 的 AccessibleJTextArea
-