Spec-Zone.ru › OpenJDK 17

Класс 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 отправленный в действие не содержит целевой текстовый компонент в качестве источника).

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

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

Обработка событий нажатия клавиш и событий обработки ввода выполняется на следующих этапах, причем каждый этап может потреблять событие:

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

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

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

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

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

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

Информация о расположении
Предоставляется возможность определения местоположения текста в представлении. Для определения этой информации существуют два метода: modelToView(int) и viewToModel(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. Устанавливаются слушатели событий курсора и устанавливается подключаемый UI. Компонент отмечается как редактируемый. Менеджер компоновки не используется, так как компоновка управляется подсистемой представления текста. Модель документа устанавливается в null.

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

getUI

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

setUI

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

updateUI

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

getActions

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

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)
Устанавливает используемый курсор. По умолчанию он устанавливается установленным UI. Его можно изменить на пользовательский курсор, если это необходимо. Установка курсора приводит к генерации события PropertyChange ("caret").
Параметры:
c - курсор
См. также:
  • getCaret()

getHighlighter

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

setHighlighter

@BeanProperty(expert=true, description="object responsible for background highlights") public void setHighlighter(Highlighter h)
Устанавливает используемый выделитель. По умолчанию он устанавливается установленным UI. Его можно изменить на пользовательский выделитель, если это необходимо. Выделитель можно установить в 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)
Устанавливает ускоритель клавиши, который приведет к получению фокуса получающим компонентом текста. Ускоритель будет сочетанием клавиш платформы и заданного символа (преобразованного в верхний регистр). Например, клавиша ALT используется в качестве модификатора на Windows, а сочетание CTRL+ALT используется на Mac. По умолчанию ускоритель клавиш отсутствует. Любые предыдущие настройки ускорителей клавиш будут заменены. Настройка клавиши '\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. Не делает ничего при пустом или пустом документе.

getToolTipText

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

getScrollableUnitIncrement

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

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

Specified by:
getScrollableUnitIncrement in interface 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 - область просмотра, видимая в области просмотра
orientation - либо SwingConstants.VERTICAL, либо SwingConstants.HORIZONTAL
direction - меньше нуля для прокрутки вверх/влево, больше нуля для прокрутки вниз/вправо
Returns:
приращение "блока" для прокрутки в указанном направлении
Throws:
IllegalArgumentException - для неверной ориентации
See Also:
  • JScrollBar.setBlockIncrement(int)

getScrollableTracksViewportWidth

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

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

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

getScrollableTracksViewportHeight

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

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

Specified by:
getScrollableTracksViewportHeight in interface Scrollable
Returns:
true, если область просмотра должна принудительно устанавливать высоту Scrollables в соответствии со своей высотой

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 для диалога печати или указать 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)
Возвращает объект 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:
объект Printable для использования при печати содержимого этого JTextComponent
Since:
1.6
See Also:
  • Printable
  • PageFormat
  • Document.render(java.lang.Runnable)

getAccessibleContext

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

paramString

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

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

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

getInputMethodRequests

@BeanProperty(bound=false) public InputMethodRequests getInputMethodRequests()
Описание скопировано из класса: Component
Получает обработчик запросов методов ввода, который поддерживает запросы от методов ввода для этого компонента. Компонент, поддерживающий текстовый ввод на месте, должен переопределить этот метод, чтобы вернуть объект InputMethodRequests . В то же время, он также должен обрабатывать события методов ввода.
Overrides:
getInputMethodRequests in class 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, 2021, 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/17/docs/api/java.desktop/javax/swing/text/JTextComponent.html

Spec-Zone.ru

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