Spec-Zone.ru › OpenJDK 25

Класс JTextComponent

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.text.JTextComponent
Все реализуемые интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible, Scrollable
Прямые известные подклассы:
JEditorPane, JTextArea, JTextField
@JavaBean(defaultProperty="UI") public abstract class JTextComponent extends JComponent implements Scrollable, Accessible
JTextComponent — базовый класс текстовых компонентов Swing. Он стремится быть совместимым с классом java.awt.TextComponent там, где это разумно возможно. Кроме того, предоставляются другие службы для большей гибкости (помимо подключаемого пользовательского интерфейса и поддержки bean-компонентов). Информацию об использовании функциональности этого класса можно найти в разделе Общие правила использования текстовых компонентов руководства The Java Tutorial.
Изменения каретки
Каретка в текстовых компонентах Swing является подключаемым объектом. Реализациям интерфейса CaretListener, зарегистрированным в текстовом компоненте, отправляются уведомления об изменениях позиции каретки и выделения. Пользовательский интерфейс устанавливает каретку по умолчанию, если не задана пользовательская каретка.
По умолчанию каретка отслеживает все изменения документа, выполняемые в потоке диспетчеризации событий, и соответствующим образом обновляет свою позицию, если вставка происходит перед кареткой или в её позиции либо удаление происходит перед позицией каретки. DefaultCaret пытается сделать себя видимой, что может привести к прокрутке текстового компонента внутри JScrollPane. Поведение каретки по умолчанию можно изменить с помощью метода DefaultCaret.setUpdatePolicy(int).
Примечание: у нередактируемых текстовых компонентов также есть каретка, хотя она может не отображаться.
Команды
Текстовые компоненты предоставляют ряд команд для управления компонентом. По сути, так компонент выражает свои возможности. Они представлены интерфейсом Swing Action с использованием реализации TextAction. Список команд, поддерживаемых текстовым компонентом, можно получить с помощью метода getActions(). Эти действия можно привязать к событиям клавиатуры, вызывать с помощью кнопок и т. д.
Ввод текста
Текстовые компоненты поддерживают гибкий и интернационализированный ввод текста с использованием карт клавиш и платформы методов ввода, сохраняя совместимость с моделью прослушивателей AWT.

Keymap позволяет приложению привязывать нажатия клавиш к действиям. Чтобы карты клавиш можно было использовать совместно несколькими текстовыми компонентами, в них можно использовать действия, расширяющие TextAction. TextAction может определить, какой JTextComponent последним получил или имел фокус и, следовательно, является целевым объектом действия (если ActionEvent, переданный действию, не содержит целевой текстовый компонент в качестве источника).

Платформа методов ввода позволяет текстовым компонентам взаимодействовать с методами ввода — отдельными программными компонентами, которые предварительно обрабатывают события и позволяют пользователям вводить тысячи различных символов с помощью клавиатур, имеющих гораздо меньше клавиш. JTextComponent является активным клиентом этой платформы, поэтому реализует предпочтительный пользовательский интерфейс для взаимодействия с методами ввода. В результате некоторые события клавиатуры не доходят до текстового компонента, поскольку обрабатываются методом ввода, а часть вводимого текста поступает в текстовый компонент как зафиксированный текст в составе события InputMethodEvent, а не как событие клавиатуры. Полный вводимый текст представляет собой комбинацию символов в событиях клавиатуры keyTyped и зафиксированного текста в событиях методов ввода.

Модель прослушивателей AWT позволяет приложениям присоединять к компонентам прослушиватели событий для привязки событий к действиям. Swing рекомендует использовать карты клавиш вместо прослушивателей, но сохраняет совместимость с прослушивателями, позволяя им перехватывать событие, поглощая его.

События клавиатуры и события методов ввода обрабатываются на следующих этапах; на каждом этапе событие может быть поглощено:

Этапы обработки событий клавиатуры и методов ввода
Этап KeyEvent InputMethodEvent
1. методы ввода (создаётся здесь)
2. менеджер фокуса
3. зарегистрированные прослушиватели клавиатуры зарегистрированные прослушиватели методов ввода
4. обработка методов ввода в JTextComponent
5. обработка карт клавиш с использованием текущей карты клавиш
6. обработка клавиатуры в JComponent (например, акселераторы, навигация по компонентам и т. д.)

Для сохранения совместимости с приложениями, прослушивающими события клавиатуры, но не учитывающими события методов ввода, обработка методов ввода на этапе 4 обеспечивает режим совместимости для компонентов, не обрабатывающих события методов ввода. Для этих компонентов зафиксированный текст преобразуется в события keyTyped и обрабатывается в конвейере событий клавиатуры, начиная с этапа 3, а не в конвейере событий методов ввода.

По умолчанию компонент создаёт карту клавиш (с именем DEFAULT_KEYMAP), совместно используемую всеми экземплярами JTextComponent в качестве карты клавиш по умолчанию. Обычно реализация оформления устанавливает другую карту клавиш, которая обращается к карте клавиш по умолчанию для привязок, отсутствующих в новой карте. Минимальный набор привязок включает:

  • вставку содержимого в редактор при нажатии клавиш печатных символов;
  • удаление содержимого клавишами Backspace и Delete;
  • перемещение каретки вперёд и назад
Разделение модели и представления
В текстовых компонентах модель отделена от представления. Текстовый компонент объединяет объекты, используемые для представления модели, представления и контроллера. Модель текстового документа может совместно использоваться другими представлениями, выступающими в роли наблюдателей модели (например, один документ может использоваться несколькими компонентами).

Diagram showing interaction between Controller, Document, events, and ViewFactory

Модель задаётся интерфейсом Document. Он предназначен для обеспечения гибкого механизма хранения текста, отслеживающего изменения при редактировании и допускающего расширение до более сложных моделей. Интерфейсы модели призваны отражать возможности представления выражений, предусмотренные SGML — системой, используемой для представления широкого спектра содержимого. Каждое изменение документа приводит к отправке всем наблюдателям уведомления с подробной информацией об изменении в виде DocumentEvent, что позволяет представлениям оставаться синхронизированными с моделью. Это событие отправляется наблюдателям, реализовавшим интерфейс DocumentListener и зарегистрировавшим интерес к наблюдаемой модели.

Информация о расположении
Предоставляется возможность определять расположение текста в представлении. Для получения этой информации предназначены два метода: modelToView(int) и viewToModel(Point).
Поддержка отмены и повтора
Предусмотрена поддержка механизма истории изменений, позволяющего отменять и повторять операции. Текстовый компонент сам по себе не предоставляет буфер истории по умолчанию, но предоставляет записи UndoableEdit, которые можно использовать совместно с буфером истории для поддержки отмены и повтора. Поддержка реализована в модели Document, позволяющей подключать реализации UndoableEditListener.
Потокобезопасность
Текстовые компоненты Swing обеспечивают некоторую поддержку потокобезопасных операций. Из-за высокой степени настраиваемости текстовых компонентов предоставленную защиту можно обойти. Защита в основном обеспечивается моделью, поэтому в документации к AbstractDocument описаны предположения, на которых основана эта защита. Методы, которые можно безопасно вызывать асинхронно, отмечены комментариями.
Символы новой строки
Описание обработки символов новой строки см. в разделе DefaultEditorKit.
Поддержка печати
Для базовой печати документов предоставляется несколько методов print. Если требуется более сложная печать, используйте метод getPrintable(MessageFormat, MessageFormat).

Предупреждение: сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации предназначена для краткосрочного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.

См. также:
  • Document
  • DocumentEvent
  • DocumentListener
  • Caret
  • CaretEvent
  • CaretListener
  • TextUI
  • View
  • ViewFactory

Краткое описание вложенных классов

Модификатор и тип Класс Описание
class  JTextComponent.AccessibleJTextComponent
Этот класс реализует поддержку специальных возможностей для класса JTextComponent.
static final class  JTextComponent.DropLocation
Представляет место сброса для JTextComponent.
static class  JTextComponent.KeyBinding
Запись привязки для создания привязок клавиш.

Вложенные классы и интерфейсы, объявленные в классе JComponent

JComponent.AccessibleJComponent

Вложенные классы и интерфейсы, объявленные в классе Container

Container.AccessibleAWTContainer

Вложенные классы и интерфейсы, объявленные в классе Component

Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

Краткое описание полей

Модификатор и тип Поле Описание
static final String DEFAULT_KEYMAP
Карта клавиш по умолчанию, совместно используемая всеми экземплярами JTextComponent, если для них не задана другая карта клавиш.
static final String 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

Краткое описание конструкторов

Конструктор Описание
JTextComponent()
Создаёт новый объект JTextComponent.

Краткое описание методов

Модификатор и тип Метод Описание
void addCaretListener(CaretListener listener)
Добавляет прослушиватель каретки для получения уведомлений о любых изменениях каретки.
static Keymap addKeymap(String nm, Keymap parent)
Добавляет новую карту клавиш в иерархию карт клавиш.
void copy()
Передаёт текущий выделенный фрагмент связанной текстовой модели в системный буфер обмена, оставляя содержимое в текстовой модели.
void cut()
Передаёт текущий выделенный фрагмент связанной текстовой модели в системный буфер обмена, удаляя содержимое из модели.
protected void fireCaretUpdate(CaretEvent e)
Уведомляет всех прослушивателей, зарегистрировавших интерес к уведомлениям о событиях этого типа.
AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим JTextComponent.
Action[] getActions()
Получает список команд редактора.
Caret getCaret()
Получает каретку, обеспечивающую навигацию по представлению, ориентированную на текст.
Color getCaretColor()
Получает текущий цвет для отображения каретки.
CaretListener[] getCaretListeners()
Возвращает массив всех прослушивателей каретки, зарегистрированных для этого текстового компонента.
int getCaretPosition()
Возвращает позицию каретки вставки текста для текстового компонента.
Color getDisabledTextColor()
Получает текущий цвет для отображения отключённого текста.
Document getDocument()
Получает модель, связанную с редактором.
boolean getDragEnabled()
Возвращает, включена ли автоматическая обработка перетаскивания.
final JTextComponent.DropLocation getDropLocation()
Возвращает место, которое этот компонент должен визуально обозначать как место сброса во время операции DnD над компонентом, или null, если в данный момент место не должно отображаться.
final DropMode getDropMode()
Возвращает режим сброса для этого компонента.
char getFocusAccelerator()
Возвращает клавишу-акселератор, которая передаст фокус этому текстовому компоненту.
Highlighter getHighlighter()
Получает объект, отвечающий за подсветку.
InputMethodRequests getInputMethodRequests()
Получает обработчик запросов методов ввода, поддерживающий запросы методов ввода для этого компонента.
Keymap getKeymap()
Получает карту клавиш, активную в данный момент в этом текстовом компоненте.
static Keymap getKeymap(String nm)
Получает именованную карту клавиш, ранее добавленную в документ.
Insets getMargin()
Возвращает отступ между границей текстового компонента и его текстом.
NavigationFilter getNavigationFilter()
Возвращает NavigationFilter.
Dimension getPreferredScrollableViewportSize()
Возвращает предпочтительный размер области просмотра для компонента-представления.
Printable getPrintable(MessageFormat headerFormat, MessageFormat footerFormat)
Возвращает Printable для печати содержимого этого JTextComponent.
int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью покажет блок строк или столбцов в зависимости от значения ориентации.
boolean getScrollableTracksViewportHeight()
Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого Scrollable равной высоте области просмотра.
boolean getScrollableTracksViewportWidth()
Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого Scrollable равной ширине области просмотра.
int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью покажет одну новую строку или столбец в зависимости от значения ориентации.
String getSelectedText()
Возвращает выделенный текст, содержащийся в этом TextComponent.
Color getSelectedTextColor()
Получает текущий цвет для отображения выделенного текста.
Color getSelectionColor()
Получает текущий цвет для отображения выделения.
int getSelectionEnd()
Возвращает конечную позицию выделенного текста.
int getSelectionStart()
Возвращает начальную позицию выделенного текста.
String getText()
Возвращает текст, содержащийся в этом TextComponent.
String getText(int offs, int len)
Получает часть текста, представленного компонентом.
String getToolTipText(MouseEvent event)
Возвращает строку, используемую в качестве всплывающей подсказки для event.
TextUI getUI()
Получает фабрику пользовательского интерфейса для этого текстового редактора.
boolean isEditable()
Возвращает логическое значение, указывающее, доступен ли этот TextComponent для редактирования.
static void loadKeymap(Keymap map, JTextComponent.KeyBinding[] bindings, Action[] actions)
Загружает карту клавиш с набором привязок.
Rectangle modelToView(int pos)
Устарело.
заменено на modelToView2D(int)
Rectangle2D modelToView2D(int pos)
Преобразует заданное положение в модели в точку в системе координат представления.
void moveCaretPosition(int pos)
Перемещает каретку в новое положение, оставляя метку, заданную при последнем вызове setCaretPosition.
protected String paramString()
Возвращает строковое представление этого JTextComponent.
void paste()
Переносит содержимое системного буфера обмена в связанную текстовую модель.
boolean print()
Удобный метод печати: отображает диалог печати, а затем печатает этот JTextComponent в интерактивном режиме без текста верхнего и нижнего колонтитулов.
boolean print(MessageFormat headerFormat, MessageFormat footerFormat)
Удобный метод печати: отображает диалог печати, а затем печатает этот JTextComponent в интерактивном режиме с указанным текстом верхнего и нижнего колонтитулов.
boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive)
Печатает содержимое этого JTextComponent.
void read(Reader in, Object desc)
Инициализирует из потока.
void removeCaretListener(CaretListener listener)
Удаляет прослушиватель каретки.
static Keymap removeKeymap(String nm)
Удаляет именованную карту клавиш, ранее добавленную в документ.
void replaceSelection(String content)
Заменяет текущее выделенное содержимое новым содержимым, представленным заданной строкой.
protected void restoreComposedText()
Восстанавливает составленный текст, ранее сохранённый методом saveComposedText.
protected boolean saveComposedText(int pos)
Сохраняет составленный текст вокруг указанной позиции.
void select(int selectionStart, int selectionEnd)
Выделяет текст между указанными начальной и конечной позициями.
void selectAll()
Выделяет весь текст в TextComponent.
void setCaret(Caret c)
Задаёт используемую каретку.
void setCaretColor(Color c)
Задаёт текущий цвет для отображения каретки.
void setCaretPosition(int position)
Задаёт позицию каретки вставки текста для TextComponent.
void setDisabledTextColor(Color c)
Задаёт текущий цвет для отображения отключённого текста.
void setDocument(Document doc)
Связывает редактор с текстовым документом.
void setDragEnabled(boolean b)
Включает или отключает автоматическую обработку перетаскивания.
final void setDropMode(DropMode dropMode)
Задаёт режим сброса для этого компонента.
void setEditable(boolean b)
Задаёт указанное логическое значение, определяющее, доступен ли этот TextComponent для редактирования.
void setFocusAccelerator(char aKey)
Задаёт клавишу-акселератор, которая передаст фокус этому текстовому компоненту.
void setHighlighter(Highlighter h)
Задаёт используемый маркер выделения.
void setKeymap(Keymap map)
Задаёт карту клавиш, используемую для привязки событий к действиям.
void setMargin(Insets m)
Задаёт отступ между границей текстового компонента и его текстом.
void setNavigationFilter(NavigationFilter filter)
Задаёт NavigationFilter.
void setSelectedTextColor(Color c)
Задаёт текущий цвет для отображения выделенного текста.
void setSelectionColor(Color c)
Задаёт текущий цвет для отображения выделения.
void setSelectionEnd(int selectionEnd)
Задаёт конечную позицию выделения.
void setSelectionStart(int selectionStart)
Задаёт начальную позицию выделения.
void setText(String t)
Задаёт для этого TextComponent указанный текст.
void setUI(TextUI ui)
Задаёт фабрику пользовательского интерфейса для этого текстового редактора.
void updateUI()
Повторно загружает подключаемый пользовательский интерфейс.
int viewToModel(Point pt)
Устарело.
заменено на viewToModel2D(Point2D)
int viewToModel2D(Point2D pt)
Преобразует заданное положение в системе координат представления в ближайшее соответствующее ему положение в модели.
void write(Writer out)
Сохраняет содержимое модели в заданный поток.

Методы, объявленные в классе 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, 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, setFont, 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

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание полей

FOCUS_ACCELERATOR_KEY

public static final String FOCUS_ACCELERATOR_KEY
Имя связанного свойства для клавиши ускоренного доступа к фокусу.
См. также:
  • Значения констант полей

DEFAULT_KEYMAP

public static final String DEFAULT_KEYMAP
Карта клавиш по умолчанию, которая будет общей для всех экземпляров JTextComponent, если для них не задана другая карта клавиш.
См. также:
  • Значения констант полей

Подробное описание конструкторов

JTextComponent

public JTextComponent()
Создает новый JTextComponent. Регистрируются слушатели событий каретки и устанавливается подключаемый пользовательский интерфейс. Компонент помечается как доступный для редактирования. Менеджер компоновки не используется, поскольку компоновкой управляет подсистема представлений текста. Модель документа устанавливается в null.

Подробное описание методов

getUI

public TextUI getUI()
Возвращает фабрику пользовательского интерфейса для этого текстового редактора.
Переопределяет:
getUI в классе JComponent
Возвращает:
фабрику

setUI

public void setUI(TextUI ui)
Устанавливает фабрику пользовательского интерфейса для этого текстового редактора.
Параметры:
ui — фабрика

updateUI

public void updateUI()
Повторно загружает подключаемый пользовательский интерфейс. Ключ, используемый для получения нового интерфейса, — getUIClassID(). Тип пользовательского интерфейса — TextUI. После установки пользовательского интерфейса вызывается invalidate.
Переопределяет:
updateUI в классе JComponent
См. также:
  • JComponent.setUI(ComponentUI)
  • UIManager.getLookAndFeel()
  • UIManager.getUI(JComponent)

addCaretListener

public void addCaretListener(CaretListener listener)
Добавляет слушатель каретки для получения уведомлений о любых изменениях каретки.
Параметры:
listener — добавляемый слушатель
См. также:
  • CaretEvent

removeCaretListener

public void removeCaretListener(CaretListener listener)
Удаляет слушатель каретки.
Параметры:
listener — удаляемый слушатель
См. также:
  • CaretEvent

getCaretListeners

@BeanProperty(bound=false) public CaretListener[] getCaretListeners()
Возвращает массив всех слушателей каретки, зарегистрированных для этого текстового компонента.
Возвращает:
всех CaretListeners этого компонента или пустой массив, если в данный момент слушатели каретки не зарегистрированы
С версии:
1.4
См. также:
  • addCaretListener(CaretListener)
  • removeCaretListener(CaretListener)

fireCaretUpdate

protected void fireCaretUpdate(CaretEvent e)
Уведомляет всех слушателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. Экземпляр события создается по требованию с использованием параметров, переданных методу fire. Список слушателей обрабатывается в обратном порядке.
Параметры:
e — событие
См. также:
  • EventListenerList

setDocument

@BeanProperty(expert=true, description="the text document model") public void setDocument(Document doc)
Связывает редактор с текстовым документом. Зарегистрированная в данный момент фабрика используется для создания представления документа, которое отображается редактором после повторной проверки компоновки. Событие PropertyChange ("document") передается каждому слушателю.
Параметры:
doc — документ для отображения/редактирования
См. также:
  • getDocument()

getDocument

public Document getDocument()
Возвращает модель, связанную с редактором. В основном это нужно пользовательскому интерфейсу, чтобы получить минимально необходимое для текстового редактора состояние. Подклассы возвращают фактический тип модели, который обычно является типом, расширяющим Document.
Возвращает:
модель

getActions

@BeanProperty(bound=false) public Action[] getActions()
Возвращает список команд редактора. Это список команд, поддерживаемых подключаемым пользовательским интерфейсом и дополненных командами, поддерживаемыми самим редактором. Эти команды удобно связывать с событиями, например в карте клавиш.
Возвращает:
список команд

setMargin

@BeanProperty(description="desired space between the border and text area") public void setMargin(Insets m)
Задает отступ между границей текстового компонента и его текстом. Объект Border по умолчанию для текстового компонента использует это значение для создания соответствующего отступа. Однако, если для текстового компонента задана нестандартная граница, создание подходящего отступа является обязанностью объекта Border (иначе это свойство фактически будет игнорироваться). Это приводит к перерисовке компонента. Всем слушателям отправляется событие PropertyChange ("margin").
Параметры:
m — расстояние между границей и текстом

getMargin

public Insets getMargin()
Возвращает отступ между границей текстового компонента и его текстом.
Возвращает:
отступ

setNavigationFilter

public void setNavigationFilter(NavigationFilter filter)
Задает NavigationFilter. NavigationFilter используется DefaultCaret и действиями перемещения курсора по умолчанию для ограничения перемещения курсора.
Параметры:
filter — фильтр
С версии:
1.4

getNavigationFilter

public NavigationFilter getNavigationFilter()
Возвращает NavigationFilter. NavigationFilter используется DefaultCaret и действиями перемещения курсора по умолчанию для ограничения перемещения курсора. Возвращаемое значение null означает, что перемещение курсора и выделение не должны ограничиваться.
Возвращает:
NavigationFilter
С версии:
1.4

getCaret

public Caret getCaret()
Возвращает каретку, которая обеспечивает навигацию по тексту в представлении.
Возвращает:
каретку

setCaret

@BeanProperty(expert=true, description="the caret used to select/navigate") public void setCaret(Caret c)
Задает используемую каретку. По умолчанию ее устанавливает установленный пользовательский интерфейс. При необходимости ее можно заменить пользовательской кареткой. Установка каретки приводит к отправке события PropertyChange ("caret").
Параметры:
c — каретка
См. также:
  • getCaret()

getHighlighter

public Highlighter getHighlighter()
Возвращает объект, отвечающий за выделение.
Возвращает:
средство выделения

setHighlighter

@BeanProperty(expert=true, description="object responsible for background highlights") public void setHighlighter(Highlighter h)
Задает используемое средство выделения. По умолчанию его устанавливает установленный пользовательский интерфейс. При необходимости его можно заменить пользовательским средством выделения. Чтобы отключить его, можно задать null. При установке нового средства выделения отправляется событие PropertyChange ("highlighter").
Параметры:
h — средство выделения
См. также:
  • getHighlighter()

setKeymap

@BeanProperty(description="set of key event to action bindings to use") public void setKeymap(Keymap map)
Задает карту клавиш, используемую для связывания событий с действиями. Если задать null, ввод с клавиатуры фактически отключается. При установке новой карты клавиш отправляется событие PropertyChange ("keymap").
Параметры:
map — карта клавиш
См. также:
  • getKeymap()

setDragEnabled

@BeanProperty(bound=false, description="determines whether automatic drag handling is enabled") public void setDragEnabled(boolean b)
Включает или отключает автоматическую обработку перетаскивания. Чтобы включить автоматическую обработку перетаскивания, для этого свойства следует задать значение true, а свойство TransferHandler компонента должно иметь значение non-null. Значение свойства dragEnabled по умолчанию — false.

За обработку этого свойства и распознавание жеста перетаскивания пользователя отвечает реализация внешнего вида и поведения, в частности TextUI компонента. Когда автоматическая обработка перетаскивания включена, большинство реализаций внешнего вида и поведения (включая подклассы BasicLookAndFeel) начинают операцию перетаскивания, когда пользователь нажимает кнопку мыши над выделением, а затем перемещает мышь на несколько пикселей. Поэтому установка для этого свойства значения true может незаметно повлиять на поведение выделения.

Если используется реализация внешнего вида и поведения, которая игнорирует это свойство, операцию перетаскивания все равно можно начать, вызвав exportAsDrag у объекта TransferHandler компонента.

Параметры:
b — следует ли включить автоматическую обработку перетаскивания
Вызывает исключение:
HeadlessException — если b имеет значение true и GraphicsEnvironment.isHeadless() возвращает true
С версии:
1.4
См. также:
  • GraphicsEnvironment.isHeadless()
  • getDragEnabled()
  • JComponent.setTransferHandler(TransferHandler)
  • TransferHandler

getDragEnabled

public boolean getDragEnabled()
Возвращает, включена ли автоматическая обработка перетаскивания.
Возвращает:
значение свойства dragEnabled
С версии:
1.4
См. также:
  • setDragEnabled(boolean)

setDropMode

public final void setDropMode(DropMode dropMode)
Задает режим сброса для этого компонента. Для обеспечения обратной совместимости значением этого свойства по умолчанию является DropMode.USE_SELECTION. Однако для более удобной работы рекомендуется использовать DropMode.INSERT. Он обеспечивает аналогичное поведение при сбросе между позициями текста, но не изменяет фактическое выделение текста и положение каретки.

JTextComponents поддерживают следующие режимы сброса:

  • DropMode.USE_SELECTION
  • DropMode.INSERT

Режим сброса имеет смысл только в том случае, если у компонента есть TransferHandler, принимающий данные.

Параметры:
dropMode — используемый режим сброса
Вызывает исключение:
IllegalArgumentException — если режим сброса не поддерживается или null
С версии:
1.6
См. также:
  • getDropMode()
  • getDropLocation()
  • JComponent.setTransferHandler(TransferHandler)
  • TransferHandler

getDropMode

public final DropMode getDropMode()
Возвращает режим сброса для этого компонента.
Возвращает:
режим сброса для этого компонента
С версии:
1.6
См. также:
  • setDropMode(DropMode)

getDropLocation

@BeanProperty(bound=false) public final JTextComponent.DropLocation getDropLocation()
Возвращает местоположение, которое компонент должен визуально обозначать как место сброса во время операции DnD над компонентом, или null, если в данный момент место не нужно отображать.

Этот метод не предназначен для запроса места сброса из TransferHandler, поскольку место сброса задается только после возврата canImport метода TransferHandler и разрешения отображения этого места.

При изменении этого свойства компонент отправляет событие изменения свойства с именем "dropLocation".

Возвращает:
место сброса
С версии:
1.6
См. также:
  • setDropMode(DropMode)
  • TransferHandler.canImport(TransferHandler.TransferSupport)

getKeymap

public Keymap getKeymap()
Возвращает карту клавиш, активную в данный момент для этого текстового компонента.
Возвращает:
карту клавиш

addKeymap

public static Keymap addKeymap(String nm, Keymap parent)
Добавляет новую карту клавиш в иерархию карт клавиш. Связывания в карте клавиш разрешаются снизу вверх, поэтому атрибут, заданный в дочерней карте, переопределяет атрибут, заданный в родительской.
Параметры:
nm — имя карты клавиш (должно быть уникальным среди именованных карт клавиш в документе); имя может быть null, если карта клавиш не имеет имени, однако вызывающий код должен самостоятельно управлять возвращенной ссылкой, поскольку карту клавиш без имени нельзя получить по имени
parent — родительская карта клавиш; может быть null, если несвязанные клавиши не требуется разрешать с помощью другой карты клавиш
Возвращает:
карту клавиш

removeKeymap

public static Keymap removeKeymap(String nm)
Удаляет именованную карту клавиш, ранее добавленную в документ. Карты клавиш с именами null нельзя удалить таким способом.
Параметры:
nm — имя удаляемой карты клавиш
Возвращает:
удаленная карта клавиш

getKeymap

public static Keymap getKeymap(String nm)
Возвращает именованную карту клавиш, ранее добавленную в документ. Этот метод не работает с картами клавиш, имя которых — null.
Параметры:
nm — имя карты клавиш
Возвращает:
карту клавиш

loadKeymap

public static void loadKeymap(Keymap map, JTextComponent.KeyBinding[] bindings, Action[] actions)

Загружает карту клавиш набором связываний. Это можно использовать для загрузки статической таблицы определений в карту клавиш. В следующем примере показано, как связать некоторые клавиши с действиями вырезания, копирования и вставки, связанными с JTextComponent. Фрагмент кода для этого может выглядеть следующим образом:


  static final JTextComponent.KeyBinding[] defaultBindings = {
    new JTextComponent.KeyBinding(
      KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
      DefaultEditorKit.copyAction),
    new JTextComponent.KeyBinding(
      KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
      DefaultEditorKit.pasteAction),
    new JTextComponent.KeyBinding(
      KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
      DefaultEditorKit.cutAction),
  };

  JTextComponent c = new JTextPane();
  Keymap k = c.getKeymap();
  JTextComponent.loadKeymap(k, defaultBindings, c.getActions());

Наборы связываний и действий могут быть пустыми, но не должны быть равны null.
Параметры:
map — карта клавиш
bindings — связывания
actions — набор действий

getCaretColor

public Color getCaretColor()
Возвращает текущий цвет, используемый для отображения каретки.
Возвращает:
цвет

setCaretColor

@BeanProperty(preferred=true, description="the color used to render the caret") public void setCaretColor(Color c)
Задает текущий цвет, используемый для отображения каретки. Значение null фактически восстанавливает цвет по умолчанию. Установка цвета приводит к отправке события PropertyChange ("caretColor").
Параметры:
c — цвет
См. также:
  • getCaretColor()

getSelectionColor

public Color getSelectionColor()
Возвращает текущий цвет, используемый для отображения выделения.
Возвращает:
цвет

setSelectionColor

@BeanProperty(preferred=true, description="color used to render selection background") public void setSelectionColor(Color c)
Задает текущий цвет, используемый для отображения выделения. Установка цвета null равносильна установке Color.white. Установка цвета приводит к отправке события PropertyChange ("selectionColor").
Параметры:
c — цвет
См. также:
  • getSelectionColor()

getSelectedTextColor

public Color getSelectedTextColor()
Возвращает текущий цвет, используемый для отображения выделенного текста.
Возвращает:
цвет

setSelectedTextColor

@BeanProperty(preferred=true, description="color used to render selected text") public void setSelectedTextColor(Color c)
Задает текущий цвет, используемый для отображения выделенного текста. Установка цвета null равносильна Color.black. Установка цвета приводит к отправке события PropertyChange ("selectedTextColor").
Параметры:
c — цвет
См. также:
  • getSelectedTextColor()

getDisabledTextColor

public Color getDisabledTextColor()
Возвращает текущий цвет, используемый для отображения отключенного текста.
Возвращает:
цвет

setDisabledTextColor

@BeanProperty(preferred=true, description="color used to render disabled text") public void setDisabledTextColor(Color c)
Задает текущий цвет, используемый для отображения отключенного текста. При установке цвета отправляется событие PropertyChange ("disabledTextColor").
Параметры:
c — цвет
См. также:
  • getDisabledTextColor()

replaceSelection

public void replaceSelection(String content)
Заменяет текущее выделенное содержимое новым содержимым, заданным указанной строкой. Если выделения нет, указанный текст вставляется. Если текст для замены отсутствует, текущее выделение удаляется.

Этот метод используется реализацией по умолчанию действия вставки содержимого, связанного с действиями карты клавиш.

Параметры:
content — содержимое, которым нужно заменить выделение

getText

public String getText(int offs, int len) throws BadLocationException
Возвращает часть текста, представленного компонентом. Если длина равна 0, возвращается пустая строка.
Параметры:
offs — смещение ≥ 0
len — длина ≥ 0
Возвращает:
текст
Вызывает исключение:
BadLocationException — если смещение или длина недопустимы

modelToView

@Deprecated(since="9") public Rectangle modelToView(int pos) throws BadLocationException
Устарел.
заменен на modelToView2D(int)
Преобразует указанное местоположение в модели в точку в системе координат представления. Чтобы выполнить это преобразование, компонент должен иметь ненулевой размер (то есть вычислить компоновку можно только после задания размера компонента). Компонент не обязательно должен быть видимым или отрисованным.
Параметры:
pos — позиция ≥ 0
Возвращает:
координаты в виде прямоугольника, где (r.x, r.y) — местоположение в системе координат, или null, если компонент еще не имеет ненулевого размера.
Вызывает исключение:
BadLocationException — если указанная позиция не соответствует допустимому местоположению в связанном документе
См. также:
  • TextUI.modelToView(JTextComponent, int)

modelToView2D

public Rectangle2D modelToView2D(int pos) throws BadLocationException
Преобразует указанное местоположение в модели в точку в системе координат представления. Чтобы выполнить это преобразование, компонент должен иметь ненулевой размер (то есть вычислить компоновку можно только после задания размера компонента). Компонент не обязательно должен быть видимым или отрисованным.
Параметры:
pos — позиция >= 0
Возвращает:
координаты в виде прямоугольника, где (r.x, r.y) — местоположение в системе координат, или null, если компонент еще не имеет ненулевого размера.
Вызывает исключение:
BadLocationException — если указанная позиция не соответствует допустимому местоположению в связанном документе
С версии:
9
См. также:
  • TextUI.modelToView2D(JTextComponent, int, Position.Bias)

viewToModel

@Deprecated(since="9") public int viewToModel(Point pt)
Устарел.
заменен на viewToModel2D(Point2D)
Преобразует указанную точку в системе координат представления в ближайшее соответствующее местоположение в модели. Чтобы выполнить это преобразование, компонент должен иметь ненулевой размер (то есть вычислить компоновку можно только после задания размера компонента). Компонент не обязательно должен быть видимым или отрисованным.
Параметры:
pt — местоположение в представлении для преобразования
Возвращает:
смещение ≥ 0 от начала документа или -1, если компонент еще не имеет ненулевого размера.
См. также:
  • TextUI.viewToModel(JTextComponent, Point)

viewToModel2D

public int viewToModel2D(Point2D pt)
Преобразует указанную точку в системе координат представления в ближайшее соответствующее местоположение в модели. Чтобы выполнить это преобразование, компонент должен иметь ненулевой размер (то есть вычислить компоновку можно только после задания размера компонента). Компонент не обязательно должен быть видимым или отрисованным.
Параметры:
pt — местоположение в представлении для преобразования
Возвращает:
смещение >= 0 от начала документа или -1, если компонент еще не имеет ненулевого размера.
С версии:
9
См. также:
  • TextUI.viewToModel2D(JTextComponent, Point2D, Position.Bias[])

cut

public void cut()
Переносит текущий выделенный диапазон связанной текстовой модели в системный буфер обмена и удаляет содержимое из модели. Текущее выделение сбрасывается. Ничего не делает, если выделение null.
См. также:
  • Toolkit.getSystemClipboard()
  • Clipboard

copy

public void copy()
Переносит текущий выделенный диапазон связанной текстовой модели в системный буфер обмена, оставляя содержимое в текстовой модели. Текущее выделение сохраняется. Ничего не делает, если выделение null.
См. также:
  • Toolkit.getSystemClipboard()
  • Clipboard

paste

public void paste()
Переносит содержимое системного буфера обмена в связанную текстовую модель. Если в связанном представлении есть выделение, оно заменяется содержимым буфера обмена. Если выделения нет, содержимое буфера обмена вставляется перед текущей позицией вставки в связанном представлении. Если буфер обмена пуст, ничего не происходит.
См. также:
  • replaceSelection(String)
  • Toolkit.getSystemClipboard()
  • Clipboard

moveCaretPosition

public void moveCaretPosition(int pos)
Перемещает каретку на новую позицию, оставляя отметку, заданную при последнем вызове setCaretPosition. Так формируется выделение. Если документ находится в состоянии null, ничего не происходит. Позиция должна находиться в диапазоне от 0 до длины текста компонента; в противном случае возникает исключение.
Параметры:
pos — позиция
Исключения:
IllegalArgumentException — если значение, переданное для position, меньше нуля или больше длины текста компонента
См. также:
  • setCaretPosition(int)

setFocusAccelerator

@BeanProperty(description="accelerator character used to grab focus") public void setFocusAccelerator(char aKey)
Задает клавишу быстрого доступа, которая переводит фокус на принимающий текстовый компонент. Сочетание клавиш состоит из платформозависимой клавиши-модификатора и указанного символа (преобразованного в верхний регистр). Например, в Windows в качестве модификатора используется клавиша ALT, а на Mac — сочетание CTRL+ALT. По умолчанию клавиша быстрого доступа для фокуса не задана. Любая предыдущая настройка клавиши быстрого доступа будет заменена. Для клавиши '\0' будет зарегистрирована настройка, отключающая клавишу быстрого доступа для фокуса. При задании новой клавиши будет вызвано событие PropertyChange (FOCUS_ACCELERATOR_KEY).
Параметры:
aKey — клавиша
См. также:
  • getFocusAccelerator()

getFocusAccelerator

public char getFocusAccelerator()
Возвращает клавишу быстрого доступа, которая переводит фокус на принимающий текстовый компонент. Возвращает '\0', если клавиша быстрого доступа для фокуса не задана.
Возвращает:
клавиша

read

public void read(Reader in, Object desc) throws IOException
Инициализирует компонент из потока. Создает модель подходящего для компонента типа и инициализирует ее данными из потока. По умолчанию модель загружается как обычный текст. Предыдущее содержимое модели удаляется.
Параметры:
in — поток для чтения
desc — объект, описывающий поток; это может быть строка, File, URL и т. д. Некоторые типы документов (например, HTML) могут использовать эту информацию; если значение не null, оно добавляется в качестве свойства документа
Исключения:
IOException — исключение, возникшее при использовании потока для инициализации
См. также:
  • EditorKit.createDefaultDocument()
  • setDocument(Document)
  • PlainDocument

write

public void write(Writer out) throws IOException
Сохраняет содержимое модели в заданный поток. По умолчанию модель сохраняется как обычный текст.
Параметры:
out — выходной поток
Исключения:
IOException — при любой ошибке ввода-вывода

setCaretPosition

@BeanProperty(bound=false, description="the caret position") public void setCaretPosition(int position)
Задает позицию текстовой каретки вставки для TextComponent. Обратите внимание, что каретка отслеживает изменения, поэтому ее позиция может измениться, если изменится базовый текст компонента. Если документ находится в состоянии null, ничего не происходит. Позиция должна находиться в диапазоне от 0 до длины текста компонента; в противном случае возникает исключение.
Параметры:
position — позиция
Исключения:
IllegalArgumentException — если значение, переданное для position, меньше нуля или больше длины текста компонента

getCaretPosition

public int getCaretPosition()
Возвращает позицию текстовой каретки вставки в текстовом компоненте.
Возвращает:
позиция текстовой каретки вставки в текстовом компоненте ≥ 0

setText

@BeanProperty(bound=false, description="the text of this component") public void setText(String t)
Задает для этого TextComponent указанный текст. Если текст равен null или пуст, старый текст просто удаляется. После вставки текста итоговая позиция каретки определяется реализацией класса каретки.

Обратите внимание, что текст не является связанным свойством, поэтому при его изменении событие PropertyChangeEvent не вызывается. Чтобы отслеживать изменения текста, используйте DocumentListener.

Параметры:
t — новый текст
См. также:
  • getText(int, int)
  • DefaultCaret

getText

public String getText()
Возвращает текст, содержащийся в этом TextComponent. Если базовый документ находится в состоянии null, будет вызвано исключение NullPointerException. Обратите внимание, что текст не является связанным свойством, поэтому при его изменении событие PropertyChangeEvent не вызывается. Чтобы отслеживать изменения текста, используйте DocumentListener.
Возвращает:
текст
Исключения:
NullPointerException — если документ находится в состоянии null
См. также:
  • setText(String)

getSelectedText

@BeanProperty(bound=false) public String getSelectedText()
Возвращает выделенный текст, содержащийся в этом TextComponent. Если выделение находится в состоянии null или документ пуст, возвращает null.
Возвращает:
текст
Исключения:
IllegalArgumentException — если по какой-либо причине выделение не имеет допустимого соответствия в документе
См. также:
  • setText(String)

isEditable

public boolean isEditable()
Возвращает логическое значение, указывающее, доступен ли этот TextComponent для редактирования.
Возвращает:
логическое значение
См. также:
  • setEditable(boolean)

setEditable

@BeanProperty(description="specifies if the text can be edited") public void setEditable(boolean b)
Задает логическое значение, указывающее, должен ли этот TextComponent быть доступен для редактирования. При изменении состояния вызывается событие PropertyChange ("editable").
Параметры:
b — задаваемое логическое значение
См. также:
  • isEditable()

getSelectionStart

public int getSelectionStart()
Возвращает начальную позицию выделенного текста. Для пустого документа возвращает 0, а при отсутствии выделения — значение dot.
Возвращает:
начальная позиция ≥ 0

setSelectionStart

@BeanProperty(bound=false, description="starting location of the selection.") public void setSelectionStart(int selectionStart)
Задает начало выделения в указанной позиции. Новая начальная позиция ограничивается текущим концом выделения и не может быть позже него.

Этот метод доступен для обратной совместимости с кодом, вызывавшим его для java.awt.TextComponent. Реализация перенаправляет вызов в реализацию Caret, где фактически хранится выделение.

Параметры:
selectionStart — начальная позиция текста ≥ 0

getSelectionEnd

public int getSelectionEnd()
Возвращает конечную позицию выделенного текста. Если документ пуст, возвращает 0; если выделения нет — значение dot.
Возвращает:
конечная позиция ≥ 0

setSelectionEnd

@BeanProperty(bound=false, description="ending location of the selection.") public void setSelectionEnd(int selectionEnd)
Задает конец выделения в указанной позиции. Новая конечная позиция ограничивается текущим началом выделения и не может быть раньше него.

Этот метод доступен для обратной совместимости с кодом, вызывавшим его для java.awt.TextComponent. Реализация перенаправляет вызов в реализацию Caret, где фактически хранится выделение.

Параметры:
selectionEnd — конечная позиция текста ≥ 0

select

public void select(int selectionStart, int selectionEnd)
Выделяет текст между указанными начальной и конечной позициями.

Этот метод задает начальную и конечную позиции выделенного текста, обеспечивая соблюдение следующих ограничений: начальная позиция должна быть больше или равна нулю; конечная позиция должна быть больше или равна начальной позиции и меньше или равна длине текста текстового компонента.

Если вызывающий код передает несогласованные значения или значения за пределами допустимого диапазона, метод молча приводит их к допустимым значениям. В частности, если начальная или конечная позиция больше длины текста, она сбрасывается до длины текста. Если начальная позиция меньше нуля, она сбрасывается до нуля; если конечная позиция меньше начальной, она сбрасывается до начальной.

Этот вызов предоставлен для обратной совместимости. Он перенаправляется на вызов setCaretPosition, за которым следует вызов moveCaretPosition. Предпочтительный способ управления выделением — напрямую вызывать эти методы.

Параметры:
selectionStart — начальная позиция текста
selectionEnd — конечная позиция текста
См. также:
  • setCaretPosition(int)
  • moveCaretPosition(int)

selectAll

public void selectAll()
Выделяет весь текст в TextComponent. Ничего не делает, если документ находится в состоянии null или пуст.

getToolTipText

public String getToolTipText(MouseEvent event)
Возвращает строку, используемую в качестве всплывающей подсказки для event. Возвращается одно из следующих значений:
  1. Если для setToolTipText был задан вызовом не-null, возвращается это значение; в противном случае
  2. возвращается значение, полученное при вызове getToolTipText пользовательского интерфейса.
По умолчанию JTextComponent не регистрируется в ToolTipManager. Это означает, что всплывающие подсказки для TextUI НЕ отображаются, пока для ToolTipManager не будет вызван registerComponent.
Переопределяет:
getToolTipText в классе JComponent
Параметры:
event — рассматриваемое событие
Возвращает:
строка, используемая в качестве всплывающей подсказки для event
См. также:
  • JComponent.setToolTipText(String)
  • TextUI.getToolTipText(JTextComponent, Point)
  • ToolTipManager.registerComponent(JComponent)

getPreferredScrollableViewportSize

@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
Возвращает предпочтительный размер области просмотра для компонента представления. Реализация выполняет стандартное действие: возвращает предпочтительный размер компонента.
Определено в:
getPreferredScrollableViewportSize в интерфейсе Scrollable
Возвращает:
preferredSize объекта JViewport, представлением которого является этот Scrollable
См. также:
  • JComponent.getPreferredSize()

getScrollableUnitIncrement

public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Компоненты, отображающие логические строки или столбцы, должны вычислять величину прокрутки, которая полностью показывает одну новую строку или один новый столбец в зависимости от значения ориентации. В идеале компоненты должны обрабатывать частично видимую строку или столбец, возвращая расстояние, необходимое для полного отображения элемента.

Стандартная реализация просто возвращает 10% видимой области. Подклассы, вероятно, смогут предоставить гораздо более подходящее значение.

Определено в:
getScrollableUnitIncrement в интерфейсе Scrollable
Параметры:
visibleRect — видимая в области просмотра область представления
orientation — либо SwingConstants.VERTICAL, либо SwingConstants.HORIZONTAL
direction — значение меньше нуля для прокрутки вверх/влево, больше нуля — вниз/вправо
Возвращает:
«единичный» шаг прокрутки в указанном направлении
Исключения:
IllegalArgumentException — при недопустимой ориентации
См. также:
  • JScrollBar.setUnitIncrement(int)

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Компоненты, отображающие логические строки или столбцы, должны вычислять величину прокрутки, которая полностью показывает один блок строк или столбцов в зависимости от значения ориентации.

Стандартная реализация просто возвращает видимую область. Подклассы, вероятно, смогут предоставить гораздо более подходящее значение.

Определено в:
getScrollableBlockIncrement в интерфейсе Scrollable
Параметры:
visibleRect — видимая в области просмотра область представления
orientation — либо SwingConstants.VERTICAL, либо SwingConstants.HORIZONTAL
direction — значение меньше нуля для прокрутки вверх/влево, больше нуля — вниз/вправо
Возвращает:
«блочный» шаг прокрутки в указанном направлении
Исключения:
IllegalArgumentException — при недопустимой ориентации
См. также:
  • JScrollBar.setBlockIncrement(int)

getScrollableTracksViewportWidth

@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
Возвращает true, если область просмотра всегда должна принудительно задавать ширину этого Scrollable равной своей ширине. Например, обычное текстовое представление с переносом строк вернуло бы здесь true, поскольку нежелательно, чтобы перенесенные строки исчезали за правым краем области просмотра. Обратите внимание, что возврат true для Scrollable, предком которого является JScrollPane, фактически отключает горизонтальную прокрутку.

Контейнеры с прокруткой, такие как JViewport, вызывают этот метод при каждой проверке.

Определено в:
getScrollableTracksViewportWidth в интерфейсе Scrollable
Возвращает:
true, если область просмотра должна принудительно установить ширину Scrollable равной собственной ширине

getScrollableTracksViewportHeight

@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Возвращает true, если область просмотра всегда должна принудительно задавать высоту этого Scrollable равной своей высоте. Например, текстовое представление в виде столбцов, переносящее текст в столбцы слева направо, могло бы фактически отключить вертикальную прокрутку, возвращая здесь true.

Контейнеры с прокруткой, такие как JViewport, вызывают этот метод при каждой проверке.

Определено в:
getScrollableTracksViewportHeight в интерфейсе Scrollable
Возвращает:
true, если область просмотра должна принудительно установить высоту прокручиваемого компонента равной собственной высоте

print

public boolean print() throws PrinterException
Упрощенный метод печати: отображает диалоговое окно печати, а затем печатает этот JTextComponent в интерактивном режиме без текста в верхнем и нижнем колонтитулах. Примечание: этот метод блокирует выполнение до завершения печати.

Примечание: в безголовом режиме диалоговые окна не отображаются.

Для печати этот метод вызывает полнофункциональный метод print.

Возвращает:
true, если только пользователь не отменил печать
Исключения:
PrinterException — если ошибка подсистемы печати приводит к прерыванию задания
С версии:
1.6
См. также:
  • print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)

print

public boolean print(MessageFormat headerFormat, MessageFormat footerFormat) throws PrinterException
Упрощенный метод печати: отображает диалоговое окно печати, а затем печатает этот JTextComponent в интерактивном режиме с указанным текстом верхнего и нижнего колонтитулов. Примечание: этот метод блокирует выполнение до завершения печати.

Примечание: в безголовом режиме диалоговые окна не отображаются.

Для печати этот метод вызывает полнофункциональный метод print.

Параметры:
headerFormat — текст в формате MessageFormat для верхнего колонтитула или null, если колонтитул не нужен
footerFormat — текст в формате MessageFormat для нижнего колонтитула или null, если колонтитул не нужен
Возвращает:
true, если только пользователь не отменил печать
Исключения:
PrinterException — если ошибка подсистемы печати приводит к прерыванию задания
С версии:
1.6
См. также:
  • print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)
  • MessageFormat

print

public boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive) throws PrinterException
Печатает содержимое этого JTextComponent. Примечание: этот метод блокирует выполнение до завершения печати.

Текст верхнего и нижнего колонтитулов можно добавить в выходные данные, передав аргументы MessageFormat. Код печати запрашивает у форматов Strings, передавая один элемент, который может быть включен в форматированную строку: Integer, представляющий номер текущей страницы.

Параметр showPrintDialog boolean позволяет указать, следует ли отображать пользователю диалоговое окно печати. В этом окне пользователь может изменить атрибуты печати или отменить печать.

Параметр service позволяет задать начальный PrintService для диалогового окна печати или указать, на PrintService выполнять печать, если диалоговое окно не отображается.

Параметр attributes можно использовать для задания начальных значений диалогового окна печати или передачи необходимых атрибутов, если диалоговое окно не отображается. Параметр attributes можно использовать для управления печатью задания, например в двустороннем или одностороннем режиме.

Параметр interactive boolean позволяет указать, следует ли выполнять печать в интерактивном режиме. Если true, на время печати отображается диалоговое окно с индикатором выполнения и возможностью прервать печать. Это диалоговое окно является модальным, если print вызывается в потоке диспетчеризации событий, и немодальным в противном случае. Предупреждение: вызов этого метода в потоке диспетчеризации событий с interactive false блокирует обработку всех событий, включая перерисовку, до завершения печати. Такой вызов рекомендуется только при печати из приложения без видимого графического интерфейса.

Примечание: в безголовом режиме параметры showPrintDialog и interactive игнорируются, диалоговые окна не отображаются.

Этот метод гарантирует, что document не будет изменен во время печати. Чтобы визуально обозначить это, на время печати устанавливается setEnabled(false).

Для отображения содержимого документа этот метод использует getPrintable(MessageFormat, MessageFormat).

Этот метод потокобезопасен, хотя большинство методов Swing — нет. Дополнительные сведения см. в разделе Параллельность в Swing.

Пример использования. Этот фрагмент кода отображает кроссплатформенное диалоговое окно печати, а затем печатает JTextComponent в интерактивном режиме, если пользователь не отменил печать в диалоговом окне:

textComponent.print(new MessageFormat("My text component header"),
    new MessageFormat("Footer. Page - {0}"), true, null, null, true);

Выполнение этого кода вне потока диспетчеризации событий запускает печать в фоновом режиме. Для печати в фоновом режиме можно использовать следующий шаблон:

    FutureTask<Boolean> future =
        new FutureTask<Boolean>(
            new Callable<Boolean>() {
                public Boolean call() {
                    return textComponent.print(.....);
                }
            });
    executor.execute(future);
Параметры:
headerFormat — текст в формате MessageFormat для верхнего колонтитула или null, если колонтитул не нужен
footerFormat — текст в формате MessageFormat для нижнего колонтитула или null, если колонтитул не нужен
showPrintDialog — true для отображения диалогового окна печати, false в противном случае
service — начальное значение PrintService или null для значения по умолчанию
attributes — атрибуты задания, применяемые к заданию печати, или null, если атрибуты не нужны
interactive — следует ли выполнять печать в интерактивном режиме
Возвращает:
true, если только пользователь не отменил печать
Исключения:
PrinterException — если ошибка подсистемы печати приводит к прерыванию задания
С версии:
1.6
См. также:
  • getPrintable(MessageFormat, MessageFormat)
  • MessageFormat
  • GraphicsEnvironment.isHeadless()
  • FutureTask

getPrintable

public Printable getPrintable(MessageFormat headerFormat, MessageFormat footerFormat)
Возвращает Printable для печати содержимого этого JTextComponent. Возвращенный объект Printable печатает документ так, как он выглядит на экране, с изменением форматирования для соответствия размеру бумаги. Возвращенный объект Printable можно обернуть в другой Printable, чтобы создавать сложные отчеты и документы.

Возвращенный объект Printable использует тот же document, что и этот JTextComponent. Разработчик отвечает за то, чтобы document не изменялся во время использования этого Printable. Если document изменяется во время печати, поведение печати не определено.

Текст верхнего и нижнего колонтитулов можно добавить в выходные данные, передав аргументы MessageFormat. Код печати запрашивает у форматов Strings, передавая один элемент, который может быть включен в форматированную строку: Integer, представляющий номер текущей страницы.

При печати возвращенный объект Printable форматирует содержимое документа в соответствии с размером страницы. Для правильного переноса строк imageable width всех страниц должны быть одинаковыми. См. PageFormat.getImageableWidth().

Этот метод потокобезопасен, хотя большинство методов Swing — нет. Дополнительные сведения см. в разделе Параллельность в Swing.

Возвращенный объект Printable можно печатать в любом потоке.

В этой реализации возвращаемый объект Printable выполняет все операции рисования в потоке диспетчеризации событий, независимо от того, в каком потоке он используется.

Параметры:
headerFormat — текст в формате MessageFormat для верхнего колонтитула или null, если колонтитул не нужен
footerFormat — текст в формате MessageFormat для нижнего колонтитула или null, если колонтитул не нужен
Возвращает:
объект Printable для печати содержимого этого JTextComponent
С версии:
1.6
См. также:
  • Printable
  • PageFormat
  • Document.render(java.lang.Runnable)

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим JTextComponent. Для текстовых компонентов AccessibleContext имеет вид AccessibleJTextComponent. При необходимости создается новый экземпляр AccessibleJTextComponent.
Определено в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
объект AccessibleJTextComponent, выполняющий роль AccessibleContext этого JTextComponent

paramString

protected String paramString()
Возвращает строковое представление этого JTextComponent. Этот метод предназначен только для отладки; содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.

Переопределите paramString, чтобы предоставить сведения о новых особенностях компонентов JFC.

Переопределяет:
paramString в классе JComponent
Возвращает:
строковое представление этого JTextComponent

getInputMethodRequests

@BeanProperty(bound=false) public InputMethodRequests getInputMethodRequests()
Описание скопировано из класса: Component
Возвращает обработчик запросов метода ввода, который поддерживает запросы методов ввода для этого компонента. Компонент, поддерживающий ввод текста на месте, должен переопределить этот метод и возвращать экземпляр InputMethodRequests. Кроме того, он должен обрабатывать события метода ввода.
Переопределяет:
getInputMethodRequests в классе Component
Возвращает:
обработчик запросов метода ввода для этого компонента; по умолчанию — null
См. также:
  • Component.addInputMethodListener(InputMethodListener)

saveComposedText

protected boolean saveComposedText(int pos)
Сохраняет составной текст в указанной позиции. Составной текст (если он есть) в указанной позиции сохраняется во вспомогательном хранилище и удаляется из документа.
Параметры:
pos — позиция в документе, используемая для определения местоположения составного текста
Возвращает:
true, если составной текст существует и сохранён; в противном случае — false
С версии:
1.7
См. также:
  • restoreComposedText()

restoreComposedText

protected void restoreComposedText()
Восстанавливает составной текст, ранее сохранённый с помощью saveComposedText. Сохранённый составной текст вставляется обратно в документ. Этот метод следует вызывать только в том случае, если saveComposedText возвращает true.
С версии:
1.7
См. также:
  • saveComposedText(int)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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/text/JTextComponent.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API