Класс JTextArea
- Все реализуемые интерфейсы:
-
ImageObserver,MenuContainer,Serializable,Accessible,Scrollable
@JavaBean(defaultProperty="UIClassID", description="A multi-line area that displays plain text.") public class JTextArea extends JTextComponent
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 равно нулю, предпочтительный размер по этой оси используется для предпочтительного размера области просмотра по той же оси.
За изменениями в java.awt.TextArea можно следить, добавив TextListener для TextEvent. В компонентах, основанных на JTextComponent, изменения транслируются из модели через DocumentEvent в DocumentListeners. Класс DocumentEvent указывает местоположение изменения и тип изменения, если это необходимо. Фрагмент кода может выглядеть примерно так:
DocumentListener myListener = ??;
JTextArea myArea = ??;
myArea.getDocument().addDocumentListener(myListener);
- Новые строки
- Для обсуждения обработки новых строк см. DefaultEditorKit.
Предупреждение: Swing не потокобезопасен. Дополнительную информацию см. в Политике потоков Swing.
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, поддержка долговременного хранения всех JavaBeans была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.
- Since:
- 1.2
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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
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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
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 |
Устанавливает стиль перевода строк, если текстовая область переводит строки. |
Методы, объявленные в классе 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()
JTextArea
public JTextArea(String text)
- Параметры:
-
text- отображаемый текст или null
JTextArea
public JTextArea(int rows, int columns)
- Параметры:
-
rows- количество строк ≥ 0 -
columns- количество столбцов ≥ 0 - Исключения:
-
IllegalArgumentException- если аргументы строк или столбцов отрицательные.
JTextArea
public JTextArea(String text, int rows, int columns)
- Параметры:
-
text- отображаемый текст или null -
rows- количество строк ≥ 0 -
columns- количество столбцов ≥ 0 - Исключения:
-
IllegalArgumentException- если аргументы строк или столбцов отрицательные.
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- если аргументы строк или столбцов отрицательные.
Подробное описание методов
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)
- Параметры:
-
wrap- указывает, должны ли строки переноситься на новую строку - См. также:
getLineWrap
public boolean getLineWrap()
- Возвращает:
- если строки будут переноситься на новую строку
setWrapStyleWord
@BeanProperty(description="should wrapping occur at word boundaries") public void setWrapStyleWord(boolean word)
- Параметры:
-
word- указывает, нужно ли использовать границы слов для переноса строк - См. также:
getWrapStyleWord
public boolean getWrapStyleWord()
- Возвращает:
- если стиль переноса должен быть по границам слов вместо границ символов
- См. также:
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)
- Parameters:
-
rows- количество строк >= 0 - Throws:
-
IllegalArgumentException- если rows меньше 0 - See Also:
getRowHeight
protected int getRowHeight()
- Returns:
- высота >= 1
getColumns
public int getColumns()
- Returns:
- количество столбцов >= 0
setColumns
@BeanProperty(bound=false, description="the number of columns preferred for display") public void setColumns(int columns)
- Parameters:
-
columns- количество столбцов >= 0 - Throws:
-
IllegalArgumentException- если columns меньше 0 - See Also:
getColumnWidth
protected int getColumnWidth()
- Returns:
- ширина столбца >= 1
getPreferredSize
public Dimension getPreferredSize()
- Overrides:
-
getPreferredSizeв классеJComponent - Returns:
- размер
- See Also:
setFont
public void setFont(Font f)
- Overrides:
-
setFontв классеJComponent - Parameters:
-
f- шрифт для использования в качестве текущего шрифта - See Also:
paramString
protected String paramString()
null.- Overrides:
-
paramStringв классеJTextComponent - Returns:
- строковое представление этого JTextArea.
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
- Specified by:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Overrides:
-
getScrollableTracksViewportWidthв классеJTextComponent - Returns:
- true, если область просмотра должна принудительно устанавливать ширину Scrollable в соответствии со своей собственной шириной.
getPreferredScrollableViewportSize
@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
- Specified by:
-
getPreferredScrollableViewportSizeв интерфейсеScrollable - Overrides:
-
getPreferredScrollableViewportSizeв классеJTextComponent - Returns:
- PreferredSize JViewport, чьей view является этот Scrollable.
- See Also:
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
getRowHeight и getColumnWidth. Контейнеры прокрутки, такие как JScrollPane, будут использовать этот метод каждый раз, когда пользователь запросит прокрутку на единицу.
- Specified by:
-
getScrollableUnitIncrementв интерфейсеScrollable - Overrides:
-
getScrollableUnitIncrementв классеJTextComponent - Parameters:
-
visibleRect- область просмотра, видимая в области просмотра -
orientation- SwingConstants.VERTICAL или SwingConstants.HORIZONTAL. -
direction- Меньше нуля для прокрутки вверх/влево, больше нуля для вниз/вправо. - Returns:
- Инкремент «единицы» для прокрутки в указанном направлении
- Throws:
-
IllegalArgumentException- для неверной ориентации - See Also:
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
- Specified by:
-
getAccessibleContextв интерфейсеAccessible - Overrides:
-
getAccessibleContextв классеJTextComponent - Returns:
- AccessibleJTextArea, который служит AccessibleContext этого JTextArea
© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/JTextArea.html