Spec-Zone.ru › OpenJDK 21

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

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

Modifier and Type Method Description
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()
Возвращает расположение, которое этот компонент должен визуально указывать как место падения во время операции перетаскивания над компонентом, или 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)
Сохраняет содержимое модели в заданный поток.

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

Методы, объявленные в классе java.awt.Container

add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree

Методы, объявленные в классе java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

Методы, объявленные в классе 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()
Извлекает фабрику пользовательского интерфейса для этого текстового редактора.
Переопределяет:
getUI в классе JComponent
Возвращает:
фабрику

setUI

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

updateUI

public void updateUI()
Перезагружает подключаемый пользовательский интерфейс. Ключ, используемый для извлечения нового интерфейса, равен getUIClassID(). Тип пользовательского интерфейса — TextUI. invalidate вызывается после установки пользовательского интерфейса.
Переопределяет:
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()
Возвращает массив всех слушателей событий курсора, зарегистрированных в этом текстовом компоненте.
Возвращает:
все слушатели событий курсора этого компонента или пустой массив, если слушатели событий курсора не зарегистрированы
С:
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 - фильтр
С:
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 компонента.

Parameters:
b - включает или отключает автоматическую обработку перетаскивания
Throws:
HeadlessException - если b имеет значение true и GraphicsEnvironment.isHeadless() возвращает true
Since:
1.4
See Also:
  • GraphicsEnvironment.isHeadless()
  • getDragEnabled()
  • JComponent.setTransferHandler(javax.swing.TransferHandler)
  • TransferHandler

getDragEnabled

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

setDropMode

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

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

  • DropMode.USE_SELECTION
  • DropMode.INSERT

Режим выгрузки имеет значение только в том случае, если у этого компонента есть TransferHandler , который принимает выгрузки.

Parameters:
dropMode - используемый режим выгрузки
Throws:
IllegalArgumentException - если режим выгрузки не поддерживается или null
Since:
1.6
See Also:
  • getDropMode()
  • getDropLocation()
  • JComponent.setTransferHandler(javax.swing.TransferHandler)
  • TransferHandler

getDropMode

public final DropMode getDropMode()
Возвращает режим выгрузки для данного компонента.
Returns:
режим выгрузки для данного компонента
Since:
1.6
See Also:
  • setDropMode(javax.swing.DropMode)

getDropLocation

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

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

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

Returns:
место выгрузки
Since:
1.6
See Also:
  • setDropMode(javax.swing.DropMode)
  • TransferHandler.canImport(TransferHandler.TransferSupport)

getKeymap

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

addKeymap

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

removeKeymap

public static Keymap removeKeymap(String nm)
Удаляет именованную карту клавиш, ранее добавленную в документ. Карты клавиш с null именами не могут быть удалены таким образом.
Parameters:
nm - имя карты клавиш для удаления
Returns:
карта клавиш, которая была удалена

getKeymap

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

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.
Parameters:
map - карта клавиш
bindings - связи
actions - набор действий

getCaretColor

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

setCaretColor

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

getSelectionColor

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

setSelectionColor

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

getSelectedTextColor

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

setSelectedTextColor

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

getDisabledTextColor

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

setDisabledTextColor

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

replaceSelection

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

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

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

getText

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

modelToView

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

modelToView2D

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

viewToModel

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

viewToModel2D

public int viewToModel2D(Point2D pt)
Преобразует заданную позицию в системе координат представления в ближайшую соответствующую позицию в модели. Для вычисления этого преобразования компонент должен иметь положительный размер (т.е. вычисление макета невозможно до тех пор, пока размер компонента не определен). Компонент не обязательно должен быть видимым или отрисованным.
Parameters:
pt - позиция в представлении для преобразования
Returns:
смещение >= 0 от начала документа, или -1 если у компонента еще нет положительного размера.
Since:
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 и длиной текста компонента, иначе будет брошено исключение.
Parameters:
pos - позиция
Throws:
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).
Parameters:
aKey - клавиша
См. также:
  • getFocusAccelerator()

getFocusAccelerator

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

read

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

write

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

setCaretPosition

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

getCaretPosition

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

setText

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

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

Parameters:
t - новый текст для установки
See Also:
  • getText(int, int)
  • DefaultCaret

getText

public String getText()
Возвращает текст, содержащийся в этом TextComponent. Если базовый документ null, возвращается NullPointerException. Обратите внимание, что текст не является свойством привязки, поэтому при изменении не генерируется событие PropertyChangeEvent . Для прослушивания изменений текста используйте DocumentListener.
Returns:
текст
Throws:
NullPointerException - если документ null
See Also:
  • setText(java.lang.String)

getSelectedText

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

isEditable

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

setEditable

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

getSelectionStart

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

setSelectionStart

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

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

Parameters:
selectionStart - начальная позиция текста ≥ 0

getSelectionEnd

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

setSelectionEnd

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

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

Parameters:
selectionEnd - конечная позиция текста ≥ 0

select

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

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

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

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

Parameters:
selectionStart - начальная позиция текста
selectionEnd - конечная позиция текста
See Also:
  • setCaretPosition(int)
  • moveCaretPosition(int)

selectAll

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

getToolTipText

public String getToolTipText(MouseEvent event)
Возвращает строку, используемую в качестве подсказки для event. Возвращает одно из следующих значений:
  1. Если setToolTipText был вызван с ненулевым null значением, оно будет возвращено, иначе
  2. Возвращается значение, полученное при вызове getToolTipText на UI.
По умолчанию JTextComponent не регистрирует себя в ToolTipManager. Это означает, что подсказки НЕ будут отображаться для TextUI, пока не будет вызвано registerComponent для ToolTipManager.
Overrides:
getToolTipText в классе JComponent
Parameters:
event - событие
Returns:
строка, используемая в качестве подсказки для event
See Also:
  • 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()
Возвращает предпочтительный размер области прокрутки для компонента представления. Это реализовано так, чтобы возвращать предпочтительный размер компонента.
Specified by:
getPreferredScrollableViewportSize в интерфейсе Scrollable
Returns:
предпочтительный размер preferredSize JViewport, чей вид — этот Scrollable
See Also:
  • JComponent.getPreferredSize()

getScrollableUnitIncrement

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

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

Specified by:
getScrollableUnitIncrement в интерфейсе Scrollable
Parameters:
visibleRect - видимая область представления в пределах области прокрутки
orientation - либо SwingConstants.VERTICAL, либо SwingConstants.HORIZONTAL
direction - меньше нуля для прокрутки вверх/влево, больше нуля для прокрутки вниз/вправо
Returns:
приращение "единицы" для прокрутки в указанном направлении
Throws:
IllegalArgumentException - для неверной ориентации
See Also:
  • JScrollBar.setUnitIncrement(int)

getScrollableBlockIncrement

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

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

Specified by:
getScrollableBlockIncrement in interface Scrollable
Parameters:
visibleRect - область просмотра, видимая внутри viewport
orientation - либо SwingConstants.VERTICAL либо SwingConstants.HORIZONTAL
direction - меньше нуля, чтобы прокрутить вверх/влево, больше нуля для вниз/вправо
Returns:
приращение "блока" для прокрутки в заданном направлении
Throws:
IllegalArgumentException - для неверной ориентации
See Also:
  • JScrollBar.setBlockIncrement(int)

getScrollableTracksViewportWidth

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

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

Specified by:
getScrollableTracksViewportWidth in interface Scrollable
Returns:
true, если viewport должен форсировать ширину Scrollable для соответствия своей собственной ширине

getScrollableTracksViewportHeight

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

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

Specified by:
getScrollableTracksViewportHeight in interface Scrollable
Returns:
true, если viewport должен форсировать высоту объекта Scrollable для соответствия своей собственной высоте

print

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

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

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

Returns:
true, если печать не была отменена пользователем
Throws:
PrinterException - если в системе печати произошла ошибка, которая привела к прерыванию задания
SecurityException - если данному потоку не разрешено инициировать запрос на задание печати
Since:
1.6
See Also:
  • print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)

print

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

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

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

Parameters:
headerFormat - текст, в формате MessageFormat, используемый в качестве заголовка, или null для отсутствия заголовка
footerFormat - текст, в формате MessageFormat, используемый в качестве подвала, или null для отсутствия подвала
Returns:
true, если печать не была отменена пользователем
Throws:
PrinterException - если в системе печати произошла ошибка, которая привела к прерыванию задания
SecurityException - если данному потоку не разрешено инициировать запрос на задание печати
Since:
1.6
See Also:
  • 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 для диалога печати или указать принтер, на который печатать, если диалог не отображается.

Параметр 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);
 
Parameters:
headerFormat - текст, в формате MessageFormat, используемый в качестве заголовка, или null для отсутствия заголовка
footerFormat - текст, в формате MessageFormat, используемый в качестве подвала, или null для отсутствия подвала
showPrintDialog - true для отображения диалога печати, false в противном случае
service - начальный PrintService, или null для значения по умолчанию
attributes - атрибуты задания, применяемые к заданию печати, или null для отсутствия
interactive - выполнять печать в интерактивном режиме
Returns:
true, если печать не была отменена пользователем
Throws:
PrinterException - если в системе печати произошла ошибка, которая привела к прерыванию задания
SecurityException - если данному потоку не разрешено инициировать запрос на задание печати
Since:
1.6
See Also:
  • getPrintable(java.text.MessageFormat, java.text.MessageFormat)
  • MessageFormat
  • GraphicsEnvironment.isHeadless()
  • FutureTask

getPrintable

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

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

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

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

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

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

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

Parameters:
headerFormat - текст, используемый в качестве заголовка, или null для отсутствия заголовка
footerFormat - текст, используемый в качестве подвала, или null для отсутствия подвала
Returns:
объект для печати содержимого этого документа
Since:
1.6
See Also:
  • Printable
  • PageFormat
  • Document.render(java.lang.Runnable)

getAccessibleContext

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

paramString

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

Переопределение метода для предоставления информации о специфических новых аспектах компонентов JFC.

Overrides:
paramString в классе JComponent
Returns:
строковое представление этого объекта

getInputMethodRequests

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

saveComposedText

protected boolean saveComposedText(int pos)
Сохраняет составленный текст вокруг указанной позиции. Составленный текст (если он есть) вокруг указанной позиции сохраняется во внутренней памяти и удаляется из документа.
Parameters:
pos - позиция документа для определения местоположения составленного текста
Returns:
true если составленный текст существует и сохранен, false в противном случае
Since:
1.7
See Also:
  • restoreComposedText()

restoreComposedText

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

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/swing/text/JTextComponent.html

Spec-Zone.ru

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