Spec-Zone.ru › OpenJDK 24

Класс 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, где это возможно. Также предоставляются другие сервисы для дополнительной гибкости (помимо подключаемого пользовательского интерфейса и поддержки свойств). Сведения о том, как использовать функциональные возможности этого класса, можно найти в Общие правила использования текстовых компонентов, разделе учебника The Java Tutorial.
Изменения курсора
Курсор — это подключаемый объект в текстовых компонентах Swing. Уведомления об изменениях позиции курсора и выделения отправляются реализациям интерфейса CaretListener, которые были зарегистрированы в текстовом компоненте. Пользовательский интерфейс установит стандартный курсор, если не был задан настраиваемый.
По умолчанию курсор отслеживает все изменения документа, выполняемые в потоке обработки событий, и обновляет свое положение в соответствии с этим, если вставка происходит перед или в позиции курсора, или удаление происходит перед позицией курсора. DefaultCaret пытается сделать себя видимым, что может привести к прокрутке текстового компонента в JScrollPane. Поведение курсора по умолчанию можно изменить с помощью метода DefaultCaret.setUpdatePolicy(int).
Примечание: В нередактируемых текстовых компонентах также есть курсор, хотя он может и не отображаться.
Команды
Текстовые компоненты предоставляют ряд команд, которые могут быть использованы для управления компонентом. По существу, это способ, которым компонент выражает свои возможности. Они выражены в терминах интерфейса Swing Action, с использованием реализации TextAction. Набор команд, поддерживаемых текстовым компонентом, можно найти с помощью метода getActions(). Эти действия можно привязать к событиям нажатия клавиш, запускать из кнопок и т. д.
Ввод текста
Текстовые компоненты поддерживают гибкий и интернационализированный ввод текста, используя раскладки клавиатуры и механизм обработки ввода, сохраняя при этом совместимость с моделью слушателей AWT.

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

Input Method Framework позволяет текстовым компонентам взаимодействовать с методами ввода, отдельными программными компонентами, которые предварительно обрабатывают события, чтобы пользователи могли вводить тысячи различных символов с помощью клавиатур с гораздо меньшим количеством клавиш. 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.

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

Модификатор и тип Метод Описание
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)
Устанавливает keymap для привязки событий к действиям. Установка в null эффективно отключает ввод с клавиатуры. При установке нового keymap генерируется событие PropertyChange ("keymap").
Parameters:
map - keymap
See Also:
  • 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()
Получает keymap, активный в этом текстовом компоненте.
Returns:
keymap

addKeymap

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

removeKeymap

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

getKeymap

public static Keymap getKeymap(String nm)
Получает именованный keymap, ранее добавленный в документ. Это не работает с null-именованными keymaps.
Parameters:
nm - имя keymap
Returns:
keymap

loadKeymap

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

Загружает keymap со множеством привязок. Это можно использовать для загрузки статической таблицы определений в keymap. Следующий пример иллюстрирует пример привязки некоторых клавиш к действиям вырезания, копирования и вставки, связанным с 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 - keymap
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:
цвет
END_OF_DOCUMENT_MARKER

Установить цвет выделенного текста

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

Получить цвет неактивного текста

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

Установить цвет неактивного текста

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

Заменить выделение

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

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

Параметры:
content - содержимое для замены выделения

Получить текст

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[])

Вырезать

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

Копировать

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

Вставить

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

Переместить курсор

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

Установить ускоритель фокуса

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

getFocusAccelerator

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

read

public void read(Reader in, Object desc) throws IOException
Инициализирует из потока. Создаёт модель соответствующего типа для компонента и инициализирует модель из потока. По умолчанию модель загружается как простой текст. Предыдущее содержимое модели отбрасывается.
Parameters:
in - поток для чтения
desc - объект, описывающий поток; это может быть строка, файл, URL и т.д. Некоторые типы документов (например, html) могут использовать эту информацию; если не null, добавляется как свойство документа
Throws:
IOException - как выбрасывается потоком, используемым для инициализации
See Also:
  • 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 для пустого документа или значение точки, если выделения нет.
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, если документ пуст, или значение точки, если выделения нет.
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
Параметры:
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)
Компоненты, отображающие логические строки или столбцы, должны вычислять шаг прокрутки, который полностью отобразит новую строку или столбец в зависимости от значения ориентации. В идеале компоненты должны обрабатывать частично отображаемые строки или столбцы, возвращая расстояние, необходимое для полного отображения элемента.

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

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

getScrollableBlockIncrement

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

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

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

getScrollableTracksViewportWidth

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

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

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

getScrollableTracksViewportHeight

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

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

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

print

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

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

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

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

print

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

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

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

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

print

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

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

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

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

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

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

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

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

Этот метод использует getPrintable(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 - текст, используемый в качестве заголовка, или null для отсутствия заголовка
footerFormat - текст, используемый в качестве подвала, или null для отсутствия подвала
showPrintDialog - true для отображения диалога печати, false в противном случае
service - начальные PrintService, или null для значения по умолчанию
attributes - атрибуты задания для применения к заданию печати, или null для отсутствия
interactive - выполнить печать в интерактивном режиме
Returns:
true, если печать не была отменена пользователем
Throws:
PrinterException - если ошибка в системе печати приводит к прерыванию задания
Since:
1.6
See Also:
  • 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 выполняет всю отрисовку в потоке обработки событий независимо от того, в каком потоке она используется.

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

getAccessibleContext

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

paramString

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

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

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

getInputMethodRequests

@BeanProperty(bound=false) public InputMethodRequests getInputMethodRequests()
Описание скопировано из класса: Component
Возвращает обработчик запросов метода ввода, поддерживающий запросы от методов ввода для этого компонента. Компонент, поддерживающий ввод текста "на лету", должен переопределить этот метод, чтобы вернуть объект InputMethodRequests. В то же время он также должен обрабатывать события методов ввода.
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, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/JTextComponent.html

Spec-Zone.ru

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