Класс 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, где это разумно. Также предоставляются другие сервисы для дополнительной гибкости (помимо поддержки подключаемого пользовательского интерфейса и свойств). Сведения о том, как использовать функциональность этого класса, можно найти в Общие правила использования текстовых компонентов, разделе учебного пособия 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 (например, акцелератoры, навигация по компонентам и т.д.)

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

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

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

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

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

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

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

См. также:
Document, DocumentEvent, DocumentListener, Caret, CaretEvent, CaretListener, TextUI, View, ViewFactory, Формат сериализации

Вложенные классы

Модификатор и тип Класс Описание
class  JTextComponent.AccessibleJTextComponent

Этот класс реализует поддержку доступности для класса JTextComponent.

static class  JTextComponent.DropLocation

Представляет расположение для выгрузки JTextComponent.

static class  JTextComponent.KeyBinding

Запись привязки для создания привязок клавиш.

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

JComponent.AccessibleJComponent

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

Container.AccessibleAWTContainer

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

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

Поля

Модификатор и тип Поле Описание
static String DEFAULT_KEYMAP

Стандартная карта клавиш, которая будет использоваться всеми экземплярами JTextComponent, если не задана другая карта клавиш.

static String 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

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

Конструктор Описание
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()

Возвращает, включена ли автоматическая обработка перетаскивания.

JTextComponent.DropLocation getDropLocation()

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

DropMode getDropMode()

Возвращает режим падения для этого компонента.

char getFocusAccelerator()

Возвращает сочетание клавиш, которое приведет к тому, что получающий текстовый компонент получит фокус.

Highlighter getHighlighter()

Получает объект, отвечающий за выделение текста.

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)

Включает или выключает автоматическую обработку перетаскивания.

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()

Перезагружает подключаемый UI.

int viewToModel​(Point pt)

Устарело.

заменено на viewToModel2D(Point2D)

int viewToModel2D​(Point2D pt)

Преобразует заданное место в системе координат представления в ближайшее соответствующее местоположение в модели.

void write​(Writer out)

Сохраняет содержимое модели в заданный поток.

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

Методы, объявленные в классе 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, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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

Методы, объявленные в классе java.lang.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()

Извлекает фабрику пользовательского интерфейса для этого текстового редактора.

Overrides:
getUI в классе JComponent
Возвращает:
фабрику

setUI

public void setUI(TextUI ui)

Устанавливает фабрику пользовательского интерфейса для этого текстового редактора.

Параметры:
ui - фабрика

updateUI

public void updateUI()

Перезагружает подключаемый пользовательский интерфейс. Ключ для извлечения нового интерфейса — getUIClassID(). Тип пользовательского интерфейса — TextUI. invalidate вызывается после установки пользовательского интерфейса.

Overrides:
updateUI в классе JComponent
См. также:
JComponent.setUI(javax.swing.plaf.ComponentUI), UIManager.getLookAndFeel(), UIManager.getUI(javax.swing.JComponent)

addCaretListener

public void addCaretListener(CaretListener listener)

Добавляет слушателя изменения курсора для уведомления о любых изменениях курсора.

Параметры:
listener - слушатель для добавления
См. также:
CaretEvent

removeCaretListener

public void removeCaretListener(CaretListener listener)

Удаляет слушателя изменения курсора.

Параметры:
listener - слушатель для удаления
См. также:
CaretEvent

getCaretListeners

@BeanProperty(bound=false)
public CaretListener[] getCaretListeners()

Возвращает массив всех зарегистрированных слушателей изменения курсора для этого текстового компонента.

Возвращает:
все слушатели изменения курсора этого компонента или пустой массив, если слушатели не зарегистрированы
Since:
1.4
См. также:
addCaretListener(javax.swing.event.CaretListener), removeCaretListener(javax.swing.event.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 - фильтр
Since:
1.4

getNavigationFilter

public NavigationFilter getNavigationFilter()

Возвращает NavigationFilter. NavigationFilter используется DefaultCaret и стандартными действиями перемещения курсора как способ ограничения перемещения курсора. Значение null означает, что перемещение и выбор курсора не должны ограничиваться.

Возвращает:
NavigationFilter
Since:
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
Since:
1.4
См. также:
GraphicsEnvironment.isHeadless(), getDragEnabled(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDragEnabled

public boolean getDragEnabled()

Возвращает, включена ли автоматическая обработка перетаскивания.

Возвращает:
значение свойства dragEnabled
Since:
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
Since:
1.6
См. также:
getDropMode(), getDropLocation(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDropMode

public final DropMode getDropMode()

Возвращает режим выгрузки для этого компонента.

Возвращает:
режим выгрузки для этого компонента
Since:
1.6
См. также:
setDropMode(javax.swing.DropMode)

getDropLocation

@BeanProperty(bound=false)
public final JTextComponent.DropLocation getDropLocation()

Возвращает расположение, которое этот компонент должен визуально указывать как место для выгрузки во время операции перетаскивания над компонентом, или null если в настоящее время нет места для показа.

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

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

Возвращает:
место выгрузки
С:
1.6
См. также:
setDropMode(javax.swing.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(javax.swing.text.JTextComponent, int)

modelToView2D

public Rectangle2D modelToView2D(int pos)
                          throws BadLocationException

Преобразует заданное расположение в модели в место в системе координат представления. Для этого преобразования компонент должен иметь положительный размер (т. е. макет не может быть рассчитан, пока компонент не получит размер). Компонент не обязательно должен быть видимым или нарисованным.

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

viewToModel

@Deprecated(since="9")
public int viewToModel(Point pt)
Устарело.
заменено на viewToModel2D(Point2D)

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

Параметры:
pt - расположение в представлении для преобразования
Возвращает:
смещение ≥ 0 от начала документа, или -1, если у компонента еще нет положительного размера.
См. также:
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)

viewToModel2D

public int viewToModel2D(Point2D pt)

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

Параметры:
pt - расположение в представлении для преобразования
Возвращает:
смещение >= 0 от начала документа, или -1 если у компонента еще нет положительного размера.
С:
9
См. также:
TextUI.viewToModel2D(javax.swing.text.JTextComponent, java.awt.geom.Point2D, javax.swing.text.Position.Bias[])

cut

public void cut()

Переносит текущий выделенный диапазон в связанной текстовой модели в буфер обмена системы, удаляя содержимое из модели. Текущее выделение сбрасывается. Не делает ничего для null выделений.

См. также:
Toolkit.getSystemClipboard(), Clipboard

copy

public void copy()

Переносит текущий выделенный диапазон в связанной текстовой модели в буфер обмена системы, оставляя содержимое в текстовой модели. Текущее выделение остается неизменным. Не делает ничего для null выделений.

См. также:
Toolkit.getSystemClipboard(), Clipboard

paste

public void paste()

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

См. также:
replaceSelection(java.lang.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)

Устанавливает ускоритель клавиш, который приведет к получению фокуса принимающим текстовым компонентом. Ускоритель будет сочетанием клавиш, специфичных для платформы, и заданного символа (преобразованного в верхний регистр). Например, клавиша ALT используется в качестве модификатора на Windows, а сочетание CTRL+ALT используется на Mac. По умолчанию нет ускорителя фокуса. Любое предыдущее значение ускорителя клавиш будет заменено. Значение клавиши '\0' будет зарегистрировано и отключит ускоритель фокуса. При установке новой клавиши будет сгенерирован событие PropertyChange (FOCUS_ACCELERATOR_KEY).

Параметры:
aKey - клавиша
См. также:
getFocusAccelerator()

getFocusAccelerator

public char getFocusAccelerator()

Возвращает ускоритель клавиш, который приведет к получению фокуса принимающим текстовым компонентом. Возвращает '\0', если ускоритель фокуса не был установлен.

Возвращает:
клавиша

read

public void read(Reader in,
                 Object desc)
          throws IOException

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

Параметры:
in - поток для чтения
desc - объект, описывающий поток; это может быть строка, файл, URL и т. д. Некоторые типы документов (например, html) могут использовать эту информацию; если не null, она добавляется как свойство документа
Исключения:
IOException - как выброшено используемым потоком для инициализации
См. также:
EditorKit.createDefaultDocument(), setDocument(javax.swing.text.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(java.lang.String)

getSelectedText

@BeanProperty(bound=false)
public String getSelectedText()

Возвращает выделенный текст, содержащийся в этом TextComponent. Если выделение null или документ пустой, возвращает null.

Возвращает:
текст
Исключения:
IllegalArgumentException - если выделение по какой-либо причине не имеет допустимого отображения в документе
См. также:
setText(java.lang.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 для пустого документа или значение точки, если выделения нет.

Возвращает:
начальная позиция ≥ 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, если документ пустой, или значение точки, если выделения нет.

Возвращает:
конечная позиция ≥ 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, если registerComponent не был вызван на ToolTipManager.

Переопределяет:
getToolTipText в классе JComponent
Параметры:
event - событие, о котором идет речь
Возвращает:
строку, используемую в качестве всплывающей подсказки для event
См. также:
JComponent.setToolTipText(java.lang.String), TextUI.getToolTipText(javax.swing.text.JTextComponent, java.awt.Point), ToolTipManager.registerComponent(javax.swing.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)

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

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

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

getScrollableBlockIncrement

public int getScrollableBlockIncrement(Rectangle visibleRect,
                                       int orientation,
                                       int direction)

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

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

Определено в:
getScrollableBlockIncrement в интерфейсе Scrollable
Параметры:
visibleRect - область представления, видимая в области просмотра
orientation - либо SwingConstants.VERTICAL, либо SwingConstants.HORIZONTAL
direction - меньше нуля для прокрутки вверх/влево, больше нуля для прокрутки вниз/вправо
Возвращает:
приращение "блока" для прокрутки в указанном направлении
Исключение:
IllegalArgumentException - для недопустимого значения orientation
См. также:
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, если область просмотра должна форсировать высоту элемента Scrollable для соответствия её собственной

print

public boolean print()
              throws PrinterException

Удобный метод печати, отображающий диалог печати, а затем печатающий этот JTextComponent в интерактивном режиме без заголовка и подвала. Примечание: этот метод блокируется до завершения печати.

Примечание: в бесголовом режиме диалоги не будут отображаться.

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

Возвращает:
true, если печать не была отменена пользователем
Исключение:
PrinterException - если ошибка в системе печати приводит к прерыванию задания
SecurityException - если данному потоку запрещено инициировать запрос на печать
С тех пор:
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 - если ошибка в системе печати приводит к прерыванию задания
SecurityException - если данному потоку запрещено инициировать запрос на печать
С тех пор:
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(java.text.MessageFormat, java.text.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 - если ошибка в системе печати привела к прерыванию задания
SecurityException - если этому потоку не разрешено инициировать запрос на выполнение задания печати
С:
1.6
См. также:
getPrintable(java.text.MessageFormat, java.text.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

saveComposedText

protected boolean saveComposedText(int pos)

Сохраняет составленный текст вокруг указанной позиции. Составленный текст (если есть) вокруг указанной позиции сохраняется в памяти и удаляется из документа.

Параметры:
pos - позиция документа для определения расположения составленного текста
Возвращает:
true если составленный текст существует и сохранен, false в противном случае
С:
1.7
См. также:
restoreComposedText()

restoreComposedText

protected void restoreComposedText()

Восстанавливает составленный текст, ранее сохраненный методом saveComposedText. Сохраненный составленный текст вставляется обратно в документ. Этот метод должен вызываться только если saveComposedText возвращает true.

С:
1.7
См. также:
saveComposedText(int)

© 1993, 2020, 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/11/docs/api/java.desktop/javax/swing/text/JTextComponent.html

Spec-Zone .ru
спецификации, руководства, описания, API