Класс JTextArea
- Все реализуемые интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
@JavaBean(defaultProperty="UIClassID", description="A multi-line area that displays plain text.") public class JTextArea extends JTextComponent
JTextArea — это многострочная область для отображения обычного текста. Она предназначена для использования в качестве облегчённого компонента, обеспечивающего совместимость исходного кода с классом java.awt.TextArea там, где это возможно. Информацию и примеры использования всех текстовых компонентов можно найти в разделе Использование текстовых компонентов руководства «Учебник по Java». Этот компонент обладает возможностями, отсутствующими в классе 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 равно нулю, предпочтительный размер области просмотра по соответствующей оси определяется предпочтительным размером компонента по этой оси.
За изменениями java.awt.TextArea можно следить, добавив TextListener для TextEvent. В компонентах на основе JTextComponent изменения распространяются от модели к DocumentListeners через DocumentEvent. DocumentEvent указывает местоположение изменения и, при необходимости, его тип. Фрагмент кода может выглядеть примерно так:
DocumentListener myListener = ??; JTextArea myArea = ??; myArea.getDocument().addDocumentListener(myListener);
- Символы новой строки
- Обсуждение обработки символов новой строки см. в разделе DefaultEditorKit.
Предупреждение: Swing не является потокобезопасной библиотекой. Дополнительную информацию см. в разделе Политика многопоточности Swing.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или для RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.
- Начиная с версии:
- 1.2
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
protected class |
JTextArea.AccessibleJTextArea |
Этот класс реализует поддержку доступности для класса JTextArea. |
Вложенные классы и интерфейсы, объявленные в классе JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
Вложенные классы и интерфейсы, объявленные в классе JComponent
JComponent.AccessibleJComponent
Вложенные классы и интерфейсы, объявленные в классе Container
Container.AccessibleAWTContainer
Вложенные классы и интерфейсы, объявленные в классе Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Краткое описание полей
Поля, объявленные в классе JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
Поля, объявленные в классе JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Поля, объявленные в классе Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Поля, объявленные в интерфейсе ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JTextArea() |
Создаёт новую TextArea. |
JTextArea |
Создаёт новую пустую TextArea с указанным количеством строк и столбцов. |
JTextArea |
Создаёт новую TextArea с указанным текстом. |
JTextArea |
Создаёт новую TextArea с указанным текстом и количеством строк и столбцов. |
JTextArea |
Создаёт новый JTextArea с заданной моделью документа и значениями по умолчанию для всех остальных аргументов (null, 0, 0). |
JTextArea |
Создаёт новый JTextArea с указанным количеством строк и столбцов и заданной моделью. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
append |
Добавляет указанный текст в конец документа. |
protected Document |
createDefaultModel() |
Создаёт стандартную реализацию модели, используемую при создании, если она не была задана явно. |
AccessibleContext |
getAccessibleContext() |
Возвращает AccessibleContext, связанный с этим JTextArea. |
int |
getColumns() |
Возвращает количество столбцов в TextArea. |
protected int |
getColumnWidth() |
Возвращает ширину столбца. |
int |
getLineCount() |
Определяет количество строк в области. |
int |
getLineEndOffset |
Определяет смещение конца указанной строки. |
int |
getLineOfOffset |
Преобразует смещение в тексте компонента в номер строки. |
int |
getLineStartOffset |
Определяет смещение начала указанной строки. |
boolean |
getLineWrap() |
Возвращает политику переноса строк текстовой области. |
Dimension |
getPreferredScrollableViewportSize() |
Возвращает предпочтительный размер области просмотра, если этот компонент размещён в JScrollPane. |
Dimension |
getPreferredSize() |
Возвращает предпочтительный размер TextArea. |
protected int |
getRowHeight() |
Определяет, что означает высота строки. |
int |
getRows() |
Возвращает количество строк в TextArea. |
boolean |
getScrollableTracksViewportWidth() |
Возвращает true, если область просмотра всегда должна принудительно устанавливать ширину этого Scrollable равной ширине области просмотра. |
int |
getScrollableUnitIncrement |
Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью покажет одну новую строку или столбец в зависимости от значения ориентации. |
int |
getTabSize() |
Возвращает количество символов, используемых для расширения табуляции. |
String |
getUIClassID() |
Возвращает идентификатор класса для пользовательского интерфейса. |
boolean |
getWrapStyleWord() |
Возвращает стиль переноса, используемый при переносе строк в текстовой области. |
void |
insert |
Вставляет указанный текст в указанную позицию. |
protected String |
paramString() |
Возвращает строковое представление этого JTextArea. |
void |
replaceRange |
Заменяет текст от указанной начальной до конечной позиции новым указанным текстом. |
void |
setColumns |
Задаёт количество столбцов для этой TextArea. |
void |
setFont |
Задаёт текущий шрифт. |
void |
setLineWrap |
Задаёт политику переноса строк текстовой области. |
void |
setRows |
Задаёт количество строк для этой TextArea. |
void |
setTabSize |
Задаёт количество символов, до которого расширяется табуляция. |
void |
setWrapStyleWord |
Задаёт стиль переноса, используемый при переносе строк в текстовой области. |
Методы, объявленные в классе 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
Методы, объявленные в классе 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
Методы, объявленные в классе 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
Методы, объявленные в классе 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()
JTextArea
public JTextArea(String text)
- Параметры:
-
text— текст для отображения или null
JTextArea
public JTextArea(int rows, int columns)
- Параметры:
-
rows— количество строк >= 0 -
columns— количество столбцов >= 0 - Исключения:
-
IllegalArgumentException— если аргументы rows или columns отрицательны.
JTextArea
public JTextArea(String text, int rows, int columns)
- Параметры:
-
text— текст для отображения или null -
rows— количество строк >= 0 -
columns— количество столбцов >= 0 - Исключения:
-
IllegalArgumentException— если аргументы rows или columns отрицательны.
JTextArea
public JTextArea(Document doc)
- Параметры:
-
doc— используемая модель
JTextArea
public JTextArea(Document doc, String text, int rows, int columns)
- Параметры:
-
doc— используемая модель или создание модели по умолчанию, если значение равно null -
text— отображаемый текст; null, если текста нет -
rows— количество строк >= 0 -
columns— количество столбцов >= 0 - Исключения:
-
IllegalArgumentException— если аргументы rows или columns отрицательны.
Подробное описание методов
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
- Переопределяет:
-
getUIClassIDв классеJComponent - Возвращает:
- строку "TextAreaUI"
- См. также:
createDefaultModel
protected Document createDefaultModel()
- Возвращает:
- модель документа по умолчанию
setTabSize
@BeanProperty(preferred=true, description="the number of characters to expand tabs to") public void setTabSize(int size)
- Параметры:
-
size— количество символов для расширения табуляции - См. также:
getTabSize
public int getTabSize()
- Возвращает:
- количество символов
setLineWrap
@BeanProperty(preferred=true, description="should lines be wrapped") public void setLineWrap(boolean wrap)
PropertyChange ("lineWrap"). По умолчанию это свойство имеет значение false.- Параметры:
-
wrap— указывает, нужно ли переносить строки - См. также:
getLineWrap
public boolean getLineWrap()
true, строки, которые слишком длинны для выделенной ширины, будут переноситься. Если задано значение false, строки никогда не будут переноситься.- Возвращает:
-
true, если строки будут переноситься; в противном случае —false
setWrapStyleWord
@BeanProperty(description="should wrapping occur at word boundaries") public void setWrapStyleWord(boolean word)
- Параметры:
-
word— указывает, следует ли переносить строки по границам слов - См. также:
getWrapStyleWord
public boolean getWrapStyleWord()
true, строки, которые слишком длинны для выделенной ширины, будут переноситься по границам слов (то есть по пробелам). Если задано значение false, строки будут переноситься по границам символов.- Возвращает:
-
true, если строки следует переносить по границам слов, а не символов; в противном случае —false - См. также:
getLineOfOffset
public int getLineOfOffset(int offset) throws BadLocationException
- Параметры:
-
offset— смещение >= 0 - Возвращает:
- номер строки >= 0
- Исключения:
-
BadLocationException— выбрасывается, если смещение меньше нуля или больше длины документа.
getLineCount
@BeanProperty(bound=false) public int getLineCount()
- Возвращает:
- количество строк > 0
getLineStartOffset
public int getLineStartOffset(int line) throws BadLocationException
- Параметры:
-
line— номер строки для преобразования >= 0 - Возвращает:
- смещение >= 0
- Исключения:
-
BadLocationException— выбрасывается, если номер строки меньше нуля или больше либо равен количеству строк в документе (согласно getLineCount).
getLineEndOffset
public int getLineEndOffset(int line) throws BadLocationException
- Параметры:
-
line— номер строки >= 0 - Возвращает:
- смещение >= 0
- Исключения:
-
BadLocationException— выбрасывается, если номер строки меньше нуля или больше либо равен количеству строк в документе (согласно getLineCount).
insert
public void insert(String str, int pos)
- Параметры:
-
str— вставляемый текст -
pos— позиция вставки >= 0 - Исключения:
-
IllegalArgumentException— если pos — недопустимая позиция в модели - См. также:
append
public void append(String str)
- Параметры:
-
str— вставляемый текст - См. также:
replaceRange
public void replaceRange(String str, int start, int end)
- Параметры:
-
str— текст для замены -
start— начальная позиция >= 0 -
end— конечная позиция >= начальной - Исключения:
-
IllegalArgumentException— если часть диапазона содержит недопустимую позицию в модели - См. также:
getRows
public int getRows()
- Возвращает:
- количество строк >= 0
setRows
@BeanProperty(bound=false, description="the number of rows preferred for display") public void setRows(int rows)
- Параметры:
-
rows— количество строк >= 0 - Исключения:
-
IllegalArgumentException— если rows меньше 0 - См. также:
getRowHeight
protected int getRowHeight()
- Возвращает:
- высота >= 1
getColumns
public int getColumns()
- Возвращает:
- количество столбцов >= 0
setColumns
@BeanProperty(bound=false, description="the number of columns preferred for display") public void setColumns(int columns)
- Параметры:
-
columns— количество столбцов >= 0 - Исключения:
-
IllegalArgumentException— если columns меньше 0 - См. также:
getColumnWidth
protected int getColumnWidth()
- Возвращает:
- ширина столбца >= 1
getPreferredSize
public Dimension getPreferredSize()
- Переопределяет:
-
getPreferredSizeв классеJComponent - Возвращает:
- размер
- См. также:
setFont
public void setFont(Font f)
- Переопределяет:
-
setFontв классеJComponent - Параметры:
-
f— шрифт, используемый в качестве текущего - См. также:
paramString
protected String paramString()
null.- Переопределяет:
-
paramStringв классеJTextComponent - Возвращает:
- строковое представление этого JTextArea.
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
- Определено в:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Переопределяет:
-
getScrollableTracksViewportWidthв классеJTextComponent - Возвращает:
- true, если область просмотра должна установить ширину Scrollable равной собственной ширине.
getPreferredScrollableViewportSize
@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
- Определено в:
-
getPreferredScrollableViewportSizeв интерфейсеScrollable - Переопределяет:
-
getPreferredScrollableViewportSizeв классеJTextComponent - Возвращает:
- preferredSize объекта JViewport, областью просмотра которого является этот Scrollable.
- См. также:
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
getRowHeight и getColumnWidth. Контейнеры с прокруткой, например JScrollPane, вызывают этот метод каждый раз, когда пользователь запрашивает прокрутку на одну единицу.
- Определено в:
-
getScrollableUnitIncrementв интерфейсеScrollable - Переопределяет:
-
getScrollableUnitIncrementв классеJTextComponent - Параметры:
-
visibleRect— видимая в области просмотра область отображения -
orientation— SwingConstants.VERTICAL или SwingConstants.HORIZONTAL. -
direction— меньше нуля для прокрутки вверх/влево, больше нуля — вниз/вправо. - Возвращает:
- приращение прокрутки на одну «единицу» в указанном направлении
- Исключения:
-
IllegalArgumentException— при недопустимой ориентации - См. также:
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
- Определено в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеJTextComponent - Возвращает:
- AccessibleJTextArea, выполняющий роль AccessibleContext этого JTextArea
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/JTextArea.html