Класс 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
public abstract class JTextComponent extends JComponent implements Scrollable, Accessible
JTextComponent является базовым классом для компонентов Swing для работы с текстом. Он старается быть совместимым с классом java.awt.TextComponent, где это разумно. Также предоставлены другие сервисы для дополнительной гибкости (помимо подключаемого пользовательского интерфейса и поддержки бинов). Вы можете найти информацию о том, как использовать функциональность этого класса в Общих правилах использования текстовых компонентов, разделе учебника 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 и Del.
- перемещение курсора вперед и назад
- Разделение модели и представления
- Компоненты текста имеют разделение модели и представления. Компонент текста объединяет объекты, используемые для представления модели, представления и контроллера. Модель документа с текстом может быть общим для других представлений, которые действуют как наблюдатели модели (например, документ может быть общим для нескольких компонентов).
Модель определяется интерфейсом
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 Этот класс реализует поддержку доступности для класса |
static class |
JTextComponent.DropLocation Представляет расположение для выгрузки |
static class |
JTextComponent.KeyBinding Запись привязки для создания привязок к клавишам. |
Вложенные классы/интерфейсы, унаследованные от класса javax.swing.JComponent
JComponent.AccessibleJComponent Вложенные классы/интерфейсы, унаследованные от класса java.awt.Container
Container.AccessibleAWTContainer Вложенные классы/интерфейсы, унаследованные от класса java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy Поля
| Модификатор и тип | Поле и описание |
|---|---|
static String |
DEFAULT_KEYMAP Стандартная карта клавиш, которая будет использоваться всеми экземплярами |
static String |
FOCUS_ACCELERATOR_KEY Имя связанного свойства для активатора фокуса. |
Поля, унаследованные от класса javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW Поля, унаследованные от класса java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT Поля, унаследованные от интерфейса java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH Конструкторы
| Конструктор и описание |
|---|
JTextComponent() Создаёт новый |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addCaretListener(CaretListener listener) Добавляет слушателя курсора для уведомления о любых изменениях курсора. |
void |
addInputMethodListener(InputMethodListener l) Добавляет указанный слушатель методов ввода для получения событий методов ввода от этого компонента. |
static Keymap |
addKeymap(String nm,
Keymap parent) Добавляет новую схему клавиш в иерархию схем клавиш. |
void |
copy() Переносит текущий выделенный диапазон в связанной модели текста в системный буфер обмена, оставив содержимое в модели текста. |
void |
cut() Переносит текущий выделенный диапазон в связанной модели текста в системный буфер обмена, удалив содержимое из модели. |
protected void |
fireCaretUpdate(CaretEvent e) Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлению об этом типе события. |
AccessibleContext |
getAccessibleContext() Получает |
Action[] |
getActions() Получает список команд для редактора. |
Caret |
getCaret() Получает курсор, позволяющий выполнять навигацию по тексту в представлении. |
Color |
getCaretColor() Получает текущий цвет, используемый для отрисовки курсора. |
CaretListener[] |
getCaretListeners() Возвращает массив всех слушателей курсора, зарегистрированных в этом текстовом компоненте. |
int |
getCaretPosition() Возвращает позицию текстового курсора вставки для текстового компонента. |
Color |
getDisabledTextColor() Получает текущий цвет, используемый для отрисовки отключенного текста. |
Document |
getDocument() Получает модель, связанную с редактором. |
boolean |
getDragEnabled() Возвращает, включена ли автоматическая обработка перетаскивания. |
JTextComponent.DropLocation |
getDropLocation() Возвращает местоположение, которое этот компонент должен визуально указывать как местоположение выгрузки во время операции перетаскивания над компонентом, или |
DropMode |
getDropMode() Возвращает режим выгрузки для этого компонента. |
char |
getFocusAccelerator() Возвращает ускоритель клавиш, который приведет к тому, что принимающий текстовый компонент получит фокус. |
Highlighter |
getHighlighter() Получает объект, ответственный за создание выделений. |
InputMethodRequests |
getInputMethodRequests() Получает обработчик запросов методов ввода, который поддерживает запросы от методов ввода для этого компонента. |
Keymap |
getKeymap() Получает текущую схему клавиш, активную в этом текстовом компоненте. |
static Keymap |
getKeymap(String nm) Получает схему клавиш с именем, ранее добавленную в документ. |
Insets |
getMargin() Возвращает отступ между границей текстового компонента и текстом. |
NavigationFilter |
getNavigationFilter() Возвращает |
Dimension |
getPreferredScrollableViewportSize() Возвращает предпочтительный размер области просмотра для компонента просмотра. |
Printable |
getPrintable(MessageFormat headerFormat,
MessageFormat footerFormat) Возвращает |
int |
getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction) Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью отобразит один блок строк или столбцов в зависимости от значения ориентации. |
boolean |
getScrollableTracksViewportHeight() Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого |
boolean |
getScrollableTracksViewportWidth() Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого |
int |
getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction) Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью отобразит одну новую строку или столбец в зависимости от значения ориентации. |
String |
getSelectedText() Возвращает выделенный текст, содержащийся в этом |
Color |
getSelectedTextColor() Получает текущий цвет, используемый для отрисовки выделенного текста. |
Color |
getSelectionColor() Получает текущий цвет, используемый для отрисовки выделения. |
int |
getSelectionEnd() Возвращает конечную позицию выделенного текста. |
int |
getSelectionStart() Возвращает начальную позицию выделенного текста. |
String |
getText() Возвращает текст, содержащийся в этом |
String |
getText(int offs,
int len) Получает часть текста, представленную компонентом. |
String |
getToolTipText(MouseEvent event) Возвращает строку, используемую в качестве всплывающей подсказки для |
TextUI |
getUI() Получает фабрику пользовательского интерфейса для этого редактора, ориентированного на текст. |
boolean |
isEditable() Возвращает логическое значение, указывающее, является ли этот |
static void |
loadKeymap(Keymap map,
JTextComponent.KeyBinding[] bindings,
Action[] actions) Загружает схему клавиш с набором привязок. |
Rectangle |
modelToView(int pos) Преобразует заданное местоположение в модели в местоположение в системе координат представления. |
void |
moveCaretPosition(int pos) Перемещает курсор в новую позицию, оставляя метку, определенную в последний раз, когда вызывался |
protected String |
paramString() Возвращает строковое представление этого |
void |
paste() Переносит содержимое системного буфера обмена в связанную модель текста. |
boolean |
print() Удобный метод печати, который отображает диалог печати, а затем печатает этот |
boolean |
print(MessageFormat headerFormat,
MessageFormat footerFormat) Удобный метод печати, который отображает диалог печати, а затем печатает этот |
boolean |
print(MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintService service,
PrintRequestAttributeSet attributes,
boolean interactive) Печатает содержимое этого |
protected void |
processInputMethodEvent(InputMethodEvent e) Обрабатывает события методов ввода, происходящие в этом компоненте, рассылать их всем зарегистрированным объектам |
void |
read(Reader in,
Object desc) Инициализирует из потока. |
void |
removeCaretListener(CaretListener listener) Удаляет слушателя курсора. |
static Keymap |
removeKeymap(String nm) Удаляет схему клавиш с именем, ранее добавленную в документ. |
void |
removeNotify() Уведомляет этот компонент о том, что у него больше нет родительского компонента. |
void |
replaceSelection(String content) Заменяет текущее выделенное содержимое новым содержимым, представленным заданной строкой. |
protected void |
restoreComposedText() Восстанавливает составленный текст, ранее сохранённый |
protected boolean |
saveComposedText(int pos) Сохраняет составленный текст вокруг указанной позиции. |
void |
select(int selectionStart,
int selectionEnd) Выделяет текст между указанными начальной и конечной позициями. |
void |
selectAll() Выделяет весь текст в |
void |
setCaret(Caret c) Устанавливает используемый курсор. |
void |
setCaretColor(Color c) Устанавливает текущий цвет, используемый для отрисовки курсора. |
void |
setCaretPosition(int position) Устанавливает позицию текстового курсора вставки для |
void |
setComponentOrientation(ComponentOrientation o) Устанавливает чувствительный к языку порядок, который будет использоваться для упорядочивания элементов или текста в этом компоненте. |
void |
setDisabledTextColor(Color c) Устанавливает текущий цвет, используемый для отрисовки отключенного текста. |
void |
setDocument(Document doc) Связывает редактор с текстовым документом. |
void |
setDragEnabled(boolean b) Включает или выключает автоматическую обработку перетаскивания. |
void |
setDropMode(DropMode dropMode) Устанавливает режим выгрузки для этого компонента. |
void |
setEditable(boolean b) Устанавливает указанное логическое значение, чтобы указать, должен ли этот |
void |
setFocusAccelerator(char aKey) Устанавливает ускоритель клавиш, который приведет к тому, что принимающий текстовый компонент получит фокус. |
void |
setHighlighter(Highlighter h) Устанавливает используемый выделенный текст. |
void |
setKeymap(Keymap map) Устанавливает схему клавиш для привязки событий к действиям. |
void |
setMargin(Insets m) Устанавливает отступ между границей текстового компонента и текстом. |
void |
setNavigationFilter(NavigationFilter filter) Устанавливает |
void |
setSelectedTextColor(Color c) Устанавливает текущий цвет, используемый для отрисовки выделенного текста. |
void |
setSelectionColor(Color c) Устанавливает текущий цвет, используемый для отображения выделения. |
void |
setSelectionEnd(int selectionEnd) Устанавливает конец выделения в указанную позицию. |
void |
setSelectionStart(int selectionStart) Устанавливает начало выделения в указанную позицию. |
void |
setText(String t) Устанавливает текст этого |
void |
setUI(TextUI ui) Устанавливает фабрику пользовательского интерфейса для этого текстового редактора. |
void |
updateUI() Перезагружает подключаемый пользовательский интерфейс. |
int |
viewToModel(Point pt) Преобразует данную позицию в системе координат представления в ближайшее представительное расположение в модели. |
void |
write(Writer out) Сохраняет содержимое модели в указанный поток. |
Методы, унаследованные от класса javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, 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, 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, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, 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, getPeer, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, 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()
Получает фабрику пользовательского интерфейса для этого текстового редактора.
- Возвращает:
- фабрику
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
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
public void setDocument(Document doc)
Связывает редактор с документом текста. Текущая зарегистрированная фабрика используется для создания представления для документа, которое отображается редактором после перевалидации. Событие PropertyChange ("document") распространяется на каждого слушателя.
- Параметры:
-
doc- документ для отображения/редактирования - См. также:
getDocument()
getDocument
public Document getDocument()
Получает модель, связанную с редактором. Это в первую очередь для того, чтобы пользовательский интерфейс получил минимальное количество состояния, необходимого для работы как текстового редактора. Подклассы вернут фактический тип модели, который обычно будет чем-то, что расширяет Document.
- Возвращает:
- модель
setComponentOrientation
public void setComponentOrientation(ComponentOrientation o)
Описание скопировано из класса: Component
Устанавливает ориентирование, зависящее от языка, которое должно использоваться для упорядочения элементов или текста в этом компоненте. Языкозависимые LayoutManager и Component подклассы будут использовать это свойство для определения того, как компоновать и рисовать компоненты.
При создании компонент ориентируется на ComponentOrientation.UNKNOWN, указывая, что он не был явно указан. Ориентация UNKNOWN ведет себя так же, как ComponentOrientation.LEFT_TO_RIGHT.
Чтобы установить ориентацию одного компонента, используйте этот метод. Чтобы установить ориентацию всей иерархии компонентов, используйте applyComponentOrientation.
Этот метод изменяет информацию, относящуюся к компоновке, и поэтому делает недействительной иерархию компонентов.
- Переопределяет:
-
setComponentOrientationв классеComponent - См. также:
-
ComponentOrientation,Component.invalidate()
getActions
public Action[] getActions()
Получает список команд для редактора. Это список команд, поддерживаемых подключаемым UI, дополненный списком команд, поддерживаемых самим редактором. Они полезны для привязки к событиям, например, в карте сочетаний клавиш.
- Возвращает:
- список команд
setMargin
public void setMargin(Insets m)
Устанавливает отступ между границей текстового компонента и его текстом. По умолчанию текстовый компонент Border объект будет использовать это значение для создания соответствующего отступа. Однако, если для текстового компонента установлен нестандартный вид границы, за создание соответствующего отступа отвечает Border объект (в противном случае эта свойство будет фактически проигнорировано). Это вызывает перерисовку компонента. Событие PropertyChange ("margin") отправляется всем слушателям.
- Параметры:
-
m- отступ между границей и текстом
getMargin
public Insets getMargin()
Возвращает отступ между границей текстового компонента и его текстом.
- Возвращает:
- отступ
setNavigationFilter
public void setNavigationFilter(NavigationFilter filter)
Устанавливает NavigationFilter. NavigationFilter используется DefaultCaret и стандартными действиями перемещения курсора в качестве способа ограничения перемещения курсора.
- С:
- 1.4
getNavigationFilter
public NavigationFilter getNavigationFilter()
Возвращает NavigationFilter. NavigationFilter используется DefaultCaret и стандартными действиями перемещения курсора в качестве способа ограничения перемещения курсора. Значение null указывает, что перемещение курсора и выделение не должны ограничиваться.
- Возвращает:
- NavigationFilter
- С:
- 1.4
getCaret
public Caret getCaret()
Получает курсор, который позволяет навигации по тексту над представлением.
- Возвращает:
- курсор
setCaret
public void setCaret(Caret c)
Устанавливает используемый курсор. По умолчанию он устанавливается установленным UI. Если нужно, его можно изменить на пользовательский курсор. Установка курсора приводит к срабатыванию события PropertyChange ("caret").
- Параметры:
-
c- курсор - См. также:
getCaret()
getHighlighter
public Highlighter getHighlighter()
Получает объект, ответственный за выделение.
- Возвращает:
- выделитель
setHighlighter
public void setHighlighter(Highlighter h)
Устанавливает используемый выделитель. По умолчанию он устанавливается установленным UI. Его можно изменить на пользовательский выделитель, если нужно. Выделитель может быть установлен в null для его отключения. Событие PropertyChange ("highlighter") генерируется при установке нового выделителя.
- Параметры:
-
h- выделитель - См. также:
getHighlighter()
setKeymap
public void setKeymap(Keymap map)
Устанавливает карту сочетаний клавиш для привязки событий к действиям. Установка в null фактически отключает ввод с клавиатуры. Событие PropertyChange ("keymap") генерируется при установке новой карты сочетаний клавиш.
- Параметры:
-
map- карта сочетаний клавиш - См. также:
getKeymap()
setDragEnabled
public void setDragEnabled(boolean b)
Включает или отключает автоматическую обработку перетаскивания. Чтобы включить автоматическую обработку перетаскивания, это свойство должно быть установлено в true, и TransferHandler компонента должно быть non-null. Значение по умолчанию для свойства dragEnabled равно false.
Задача по обработке этого свойства и распознаванию жеста перетаскивания пользователя ложится на реализацию внешнего вида и, в частности, на TextUI компонента. При включённой автоматической обработке перетаскивания большинство внешних видов (включая те, которые наследуют от BasicLookAndFeel) начинают операцию перетаскивания и перекладывания, когда пользователь нажимает кнопку мыши над выделением и затем перемещает мышь на несколько пикселей. Установка этого свойства в true может, следовательно, оказать тонкое влияние на поведение выделений.
Если используется внешний вид, игнорирующий это свойство, вы всё ещё можете начать операцию перетаскивания и перекладывания, вызвав exportAsDrag на TransferHandler компонента.
- Параметры:
-
b- включить или отключить автоматическую обработку перетаскивания - Исключения:
-
HeadlessException- еслиbравноtrueиGraphicsEnvironment.isHeadless()возвращаетtrue - С:
- 1.4
- См. также:
-
GraphicsEnvironment.isHeadless(),getDragEnabled(),JComponent.setTransferHandler(javax.swing.TransferHandler),TransferHandler
getDragEnabled
public boolean getDragEnabled()
Возвращает, включена ли автоматическая обработка перетаскивания.
- Возвращает:
- значение свойства
dragEnabled - С момента:
- 1.4
- См. также:
setDragEnabled(boolean)
setDropMode
public final void setDropMode(DropMode dropMode)
Устанавливает режим выгрузки для этого компонента. Для обратной совместимости, значение по умолчанию для этого свойства — DropMode.USE_SELECTION. Тем не менее, рекомендуется использовать DropMode.INSERT, для улучшенного пользовательского опыта. Он предлагает поведение выгрузки между текстовыми местоположениями, но не влияет на фактический выделенный текст и положение курсора.
JTextComponents поддерживают следующие режимы выгрузки:
DropMode.USE_SELECTIONDropMode.INSERT
Режим выгрузки имеет значение только в том случае, если у этого компонента есть TransferHandler, который принимает выгрузки.
- Параметры:
-
dropMode— используемый режим выгрузки - Исключения:
-
IllegalArgumentException— если режим выгрузки не поддерживается илиnull - С момента:
- 1.6
- См. также:
-
getDropMode(),getDropLocation(),JComponent.setTransferHandler(javax.swing.TransferHandler),TransferHandler
getDropMode
public final DropMode getDropMode()
Возвращает режим выгрузки для этого компонента.
- Возвращает:
- режим выгрузки для этого компонента
- С момента:
- 1.6
- См. также:
setDropMode(javax.swing.DropMode)
getDropLocation
public final JTextComponent.DropLocation getDropLocation()
Возвращает местоположение, которое этот компонент должен визуально обозначить как место выгрузки во время операции перетаскивания над компонентом, или null если местоположение в данный момент не должно отображаться.
Этот метод не предназначен для запроса местоположения выгрузки из TransferHandler, поскольку местоположение выгрузки устанавливается только после того, как TransferHandler canImport вернулась и позволила отобразить местоположение.
При изменении этого свойства компонент генерирует событие изменения свойства с именем "dropLocation".
- Возвращает:
- место выгрузки
- С момента:
- 1.6
- См. также:
-
setDropMode(javax.swing.DropMode),TransferHandler.canImport(TransferHandler.TransferSupport)
getKeymap
public Keymap getKeymap()
Возвращает текущую карту клавиш, активную в этом текстовом компоненте.
- Возвращает:
- карту клавиш
addKeymap
public static Keymap addKeymap(String nm,
Keymap parent) Добавляет новую карту клавиш в иерархию карты клавиш. Связывание по ключам происходит снизу вверх, поэтому атрибут, указанный в дочернем элементе, переопределяет атрибут, указанный в родительском элементе.
- Параметры:
-
nm— имя карты клавиш (должно быть уникальным в коллекции именованных карт клавиш в документе); имя может бытьnull, если карта клавиш не имеет имени, но вызывающий метод отвечает за управление ссылкой, так как неименованную карту клавиш нельзя получить по имени -
parent— родительская карта клавиш; это может бытьnull, если неявные привязки не должны разрешаться в какой-либо другой карте клавиш - Возвращает:
- карту клавиш
removeKeymap
public static Keymap removeKeymap(String nm)
Удаляет ранее добавленную именованную карту клавиш в документ. Карты клавиш с null именами нельзя удалить таким образом.
- Параметры:
-
nm— имя карты клавиш для удаления - Возвращает:
- удаленную карту клавиш
getKeymap
public static Keymap getKeymap(String nm)
Возвращает именованную карту клавиш, ранее добавленную в документ. Это не работает с null-именованными картами клавиш.
- Параметры:
-
nm— имя карты клавиш - Возвращает:
- карту клавиш
loadKeymap
public static void loadKeymap(Keymap map,
JTextComponent.KeyBinding[] bindings,
Action[] actions) Загружает карту клавиш с набором привязок. Это можно использовать для загрузки статической таблицы определений в какую-либо карту клавиш. Следующий пример иллюстрирует пример привязки некоторых клавиш к действиям вырезания, копирования и вставки, связанным с JTextComponent. Фрагмент кода для этого может выглядеть следующим образом:
static final JTextComponent.KeyBinding[] defaultBindings = {
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
DefaultEditorKit.copyAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
DefaultEditorKit.pasteAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
DefaultEditorKit.cutAction),
};
JTextComponent c = new JTextPane();
Keymap k = c.getKeymap();
JTextComponent.loadKeymap(k, defaultBindings, c.getActions()); Наборы привязок и действий могут быть пустыми, но не должны быть null. - Параметры:
-
map— карта клавиш -
bindings— привязки -
actions— набор действий
getCaretColor
public Color getCaretColor()
Возвращает текущий цвет, используемый для отрисовки курсора.
- Возвращает:
- цвет
setCaretColor
public void setCaretColor(Color c)
Устанавливает текущий цвет, используемый для отрисовки курсора. Установка в null фактически восстанавливает цвет по умолчанию. Установка цвета вызывает событие изменения свойства ("caretColor").
- Параметры:
-
c— цвет - См. также:
getCaretColor()
getSelectionColor
public Color getSelectionColor()
Возвращает текущий цвет, используемый для отрисовки выделения.
- Возвращает:
- цвет
setSelectionColor
public void setSelectionColor(Color c)
Устанавливает текущий цвет, используемый для отрисовки выделения. Установка цвета в null эквивалентна установке Color.white. Установка цвета вызывает событие изменения свойства ("selectionColor").
- Параметры:
-
c— цвет - См. также:
getSelectionColor()
getSelectedTextColor
public Color getSelectedTextColor()
Возвращает текущий цвет, используемый для отрисовки выделенного текста.
- Возвращает:
- цвет
setSelectedTextColor
public void setSelectedTextColor(Color c)
Устанавливает текущий цвет, используемый для отрисовки выделенного текста. Установка цвета в null эквивалентна Color.black. Установка цвета вызывает событие изменения свойства ("selectedTextColor").
- Параметры:
-
c— цвет - См. также:
getSelectedTextColor()
getDisabledTextColor
public Color getDisabledTextColor()
Возвращает текущий цвет, используемый для отрисовки неактивного текста.
- Возвращает:
- цвет
setDisabledTextColor
public void setDisabledTextColor(Color c)
Устанавливает текущий цвет, используемый для отрисовки неактивного текста. Установка цвета вызывает событие изменения свойства ("disabledTextColor").
- Параметры:
-
c— цвет - См. также:
getDisabledTextColor()
replaceSelection
public void replaceSelection(String content)
Заменяет текущее выделенное содержимое новым содержимым, представленным заданной строкой. Если выделения нет, это равносильно вставке заданного текста. Если нет текста для замены, это равносильно удалению текущего выделения.
Этот метод используется в реализации по умолчанию действия для вставки содержимого, привязанного к действиям карты клавиш.
- Параметры:
-
content— содержимое для замены выделения
getText
public String getText(int offs,
int len)
throws BadLocationException Возвращает часть текста, представленную компонентом. Возвращает пустую строку, если длина равна 0.
- Параметры:
-
offs— смещение ≥ 0 -
len— длина ≥ 0 - Возвращает:
- текст
- Исключения:
-
BadLocationException— если смещение или длина недопустимы
modelToView
public Rectangle modelToView(int pos)
throws BadLocationException Преобразует данное положение в модели в место в системе координат представления. Для этого преобразования компонент должен иметь положительный размер (т.е. макет не может быть вычислен, пока размер компонента не определен). Компонент не обязан быть видимым или нарисованным.
- Параметры:
-
pos— позиция ≥ 0 - Возвращает:
- координаты в виде прямоугольника, где (r.x, r.y) — местоположение в системе координат, или null, если у компонента еще нет положительного размера.
- Исключения:
-
BadLocationException— если заданная позиция не представляет собой действительное расположение в связанном документе - См. также:
TextUI.modelToView(javax.swing.text.JTextComponent, int)
viewToModel
public int viewToModel(Point pt)
Преобразует данное место в системе координат представления в ближайшее представительное расположение в модели. Для этого преобразования компонент должен иметь положительный размер (т.е. макет не может быть вычислен, пока размер компонента не определен). Компонент не обязан быть видимым или нарисованным.
- Параметры:
-
pt— местоположение в представлении для преобразования - Возвращает:
- смещение ≥ 0 от начала документа, или -1, если у компонента еще нет положительного размера.
- См. также:
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)
cut
public void cut()
Переносит текущий выделенный диапазон в связанной текстовой модели в буфер обмена системы, удаляя содержимое из модели. Текущее выделение сбрасывается. Не делает ничего для null выделений.
- См. также:
-
Toolkit.getSystemClipboard(),Clipboard
copy
public void copy()
Переносит текущий выделенный диапазон в связанной текстовой модели в буфер обмена системы, оставляя содержимое в текстовой модели. Текущее выделение остается неизменным. Не делает ничего для null выделений.
- См. также:
-
Toolkit.getSystemClipboard(),Clipboard
paste
public void paste()
Переносит содержимое буфера обмена системы в связанную текстовую модель. Если в связанном представлении есть выделение, оно заменяется содержимым буфера обмена. Если выделения нет, содержимое буфера обмена вставляется перед текущей позицией вставки в связанном представлении. Если буфер обмена пуст, ничего не делает.
moveCaretPosition
public void moveCaretPosition(int pos)
Перемещает курсор в новую позицию, оставляя метку, определённую в последний раз, когда был вызван setCaretPosition. Это формирует выбор. Если документ null, ничего не происходит. Позиция должна быть между 0 и длиной текста компонента, иначе будет выброшено исключение.
- Параметры:
-
pos- позиция - Исключения:
-
IllegalArgumentException- если значение, предоставленное дляposition, меньше нуля или больше длины текста компонента - См. также:
setCaretPosition(int)
setFocusAccelerator
public void setFocusAccelerator(char aKey)
Устанавливает ключевой ускоритель, который вызовет получение фокуса соответствующим компонентом текста. Ускоритель будет комбинацией клавиш платформенной модификаторной клавиши и символа, заданного (преобразованного в верхний регистр). Например, клавиша ALT используется как модификатор в Windows, а комбинация CTRL+ALT используется в Mac. По умолчанию нет клавиши ускорителя фокуса. Любое предыдущее значение клавиши ускорителя будет заменено. Значение клавиши '\0' будет зарегистрировано и послужит отключением ускорителя фокуса. Когда новая клавиша установлена, будет сгенерирован событие PropertyChange (FOCUS_ACCELERATOR_KEY).
- Параметры:
-
aKey- клавиша - См. также:
getFocusAccelerator()
getFocusAccelerator
public char getFocusAccelerator()
Возвращает ключевой ускоритель, который вызовет получение фокуса соответствующим компонентом текста. Возвращает '\0', если ускоритель фокуса не был установлен.
- Возвращает:
- клавиша
read
public void read(Reader in,
Object desc)
throws IOException Инициализирует из потока. Это создаёт модель соответствующего типу компонента и инициализирует модель из потока. По умолчанию модель будет загружена как обычный текст. Предыдущее содержимое модели удаляется.
- Параметры:
-
in- поток для чтения -
desc- объект, описывающий поток; это может быть строка, файл, URL и т.д. Некоторые типы документов (например, html) могут использовать эту информацию; если не пусто, он добавляется как свойство документа - Исключения:
-
IOException- выброшено потоком, используемым для инициализации - См. также:
-
EditorKit.createDefaultDocument(),setDocument(javax.swing.text.Document),PlainDocument
write
public void write(Writer out)
throws IOException Сохраняет содержимое модели в указанный поток. По умолчанию модель сохраняется как обычный текст.
- Параметры:
-
out- выходной поток - Исключения:
-
IOException- при любой ошибке ввода/вывода
removeNotify
public void removeNotify()
Описание скопировано из класса: JComponent
Уведомляет этот компонент о том, что у него больше нет родительского компонента. Когда этот метод вызывается, все KeyboardAction созданные в цепочке родительских компонентов удаляются. Этот метод вызывается инструментарием внутренне и не должен вызываться программами напрямую.
- Переопределяет:
-
removeNotifyв классеJComponent - См. также:
JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)
setCaretPosition
public void setCaretPosition(int position)
Устанавливает позицию курсора вставки текста для TextComponent. Обратите внимание, что курсор отслеживает изменения, поэтому он может измениться, если изменится основной текст компонента. Если документ null, ничего не происходит. Позиция должна быть между 0 и длиной текста компонента, иначе будет выброшено исключение.
- Параметры:
-
position- позиция - Исключения:
-
IllegalArgumentException- если предоставленное значение дляpositionменьше нуля или больше длины текста компонента
getCaretPosition
public int getCaretPosition()
Возвращает позицию курсора вставки текста для текстового компонента.
- Возвращает:
- позиция курсора вставки текста для текстового компонента ≥ 0
setText
public void setText(String t)
Устанавливает текст этого TextComponent в указанный текст. Если текст пустой или пустой, то происходит просто удаление старого текста. Когда текст вставлен, положение курсора определяется реализацией класса курсора.
Обратите внимание, что текст не является связанным свойством, поэтому при его изменении не генерируется событие PropertyChangeEvent
. Чтобы прослушивать изменения текста, используйте DocumentListener.
- Параметры:
-
t- новый устанавливаемый текст - См. также:
-
getText(int, int),DefaultCaret
getText
public String getText()
Возвращает текст, содержащийся в этом TextComponent. Если базовый документ null, будет возвращён NullPointerException. Обратите внимание, что текст не является связанным свойством, поэтому при его изменении не генерируется событие PropertyChangeEvent
. Чтобы прослушивать изменения текста, используйте DocumentListener.
- Возвращает:
- текст
- Исключения:
-
NullPointerException- если документnull - См. также:
setText(java.lang.String)
getSelectedText
public String getSelectedText()
Возвращает выделенный текст, содержащийся в этом TextComponent. Если выбор null или документ пустой, возвращает null.
- Возвращает:
- текст
- Исключения:
-
IllegalArgumentException- если выбор не имеет корректного отображения в документе по какой-либо причине - См. также:
setText(java.lang.String)
isEditable
public boolean isEditable()
Возвращает логическое значение, указывающее, является ли этот TextComponent редактируемым или нет.
- Возвращает:
- логическое значение
- См. также:
setEditable(boolean)
setEditable
public void setEditable(boolean b)
Устанавливает заданное логическое значение, чтобы указать, можно ли редактировать этот TextComponent. При изменении состояния генерируется событие PropertyChange ("editable").
- Параметры:
-
b- устанавливаемое логическое значение - См. также:
isEditable()
getSelectionStart
public int getSelectionStart()
Возвращает начальную позицию выделенного текста. Возвращает 0 для пустого документа или значение точки, если нет выделения.
- Возвращает:
- начальная позиция ≥ 0
setSelectionStart
public void setSelectionStart(int selectionStart)
Устанавливает начало выделения в указанную позицию. Новая начальная точка ограничена значением до или на текущем конце выделения.
Доступно для обратной совместимости с кодом, который вызывал этот метод для java.awt.TextComponent. Реализовано для перенаправления к реализации Caret, где сохраняется фактическое выделение.
- Параметры:
-
selectionStart- начальная позиция текста ≥ 0
getSelectionEnd
public int getSelectionEnd()
Возвращает конечную позицию выделенного текста. Возвращает 0, если документ пустой, или значение точки, если нет выделения.
- Возвращает:
- конечная позиция ≥ 0
setSelectionEnd
public void setSelectionEnd(int selectionEnd)
Устанавливает конец выделения в указанную позицию. Новая конечная точка ограничена значением на или после текущего начала выделения.
Доступно для обратной совместимости с кодом, который вызывал этот метод для java.awt.TextComponent. Реализовано для перенаправления к реализации Caret, где сохраняется фактическое выделение.
- Параметры:
-
selectionEnd- конечная позиция текста ≥ 0
select
public void select(int selectionStart,
int selectionEnd) Выделяет текст между указанными начальной и конечной позициями.
Этот метод устанавливает начальную и конечную позиции выделенного текста, выполняя ограничение, что начальная позиция должна быть больше или равна нулю. Конечная позиция должна быть больше или равна начальной позиции и меньше или равна длине текста текстового компонента.
Если вызывающий передает значения, которые не согласованы или находятся за пределами допустимого диапазона, метод выполняет эти ограничения неявно без ошибок. В частности, если начальная позиция или конечная позиция больше длины текста, они устанавливаются равными длине текста. Если начальная позиция меньше нуля, она устанавливается равной нулю, а если конечная позиция меньше начальной позиции, она устанавливается равной начальной позиции.
Этот вызов предоставляется для обратной совместимости. Он перенаправляется на вызов setCaretPosition за которым следует вызов moveCaretPosition. Предпочтительный способ управления выделением - вызывать эти методы напрямую.
- Параметры:
-
selectionStart- начальная позиция текста -
selectionEnd- конечная позиция текста - См. также:
-
setCaretPosition(int),moveCaretPosition(int)
selectAll
public void selectAll()
Выделяет весь текст в TextComponent. Не делает ничего в случае null или пустого документа.
getToolTipText
public String getToolTipText(MouseEvent event)
Возвращает строку, используемую в качестве всплывающей подсказки для event. Это вернёт одно из:
- Если
setToolTipTextбыл вызван с ненулевым значением, будет возвращено это значение, в противном случае - Будет возвращено значение, полученное при вызове
getToolTipTextдля UI.
JTextComponent не регистрирует себя в ToolTipManager. Это означает, что всплывающие подсказки НЕ будут отображаться для TextUI, пока registerComponent не будет вызвана на ToolTipManager. - Переопределяет:
-
getToolTipTextв классеJComponent - Параметры:
-
event- событие, о котором идёт речь - Возвращает:
- строку, используемую в качестве подсказки для
event - См. также:
-
JComponent.setToolTipText(java.lang.String),TextUI.getToolTipText(javax.swing.text.JTextComponent, java.awt.Point),ToolTipManager.registerComponent(javax.swing.JComponent)
getPreferredScrollableViewportSize
public Dimension getPreferredScrollableViewportSize()
Возвращает предпочтительный размер области просмотра для компонента представления. Это реализовано для выполнения стандартного поведения возврата предпочтительного размера компонента.
- Указано в:
-
getPreferredScrollableViewportSizeв интерфейсеScrollable - Возвращает:
- предпочтительный размер
preferredSizeJViewport, чьё представление — этот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
public boolean getScrollableTracksViewportWidth()
Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого Scrollable в соответствии с шириной области просмотра. Например, обычный текстовый вид, поддерживающий перенос строк, вернёт true здесь, так как нежелательно, чтобы переносимые строки исчезали за правым краем области просмотра. Обратите внимание, что возвращение true для Scrollable, предком которого является JScrollPane, фактически отключает горизонтальную прокрутку.
Контейнеры прокрутки, такие как JViewport, будут использовать этот метод каждый раз при валидации.
- Указано в:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Возвращает:
- true, если область просмотра должна принудительно устанавливать ширину
Scrollableв соответствии с её собственным размером
getScrollableTracksViewportHeight
public boolean getScrollableTracksViewportHeight()
Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого Scrollable в соответствии с высотой области просмотра. Например, колоночный текстовый вид, который отображал текст в колонках слева направо, может отключить вертикальную прокрутку, вернув true здесь.
Контейнеры прокрутки, такие как JViewport, будут использовать этот метод каждый раз при валидации.
- Указано в:
-
getScrollableTracksViewportHeightв интерфейсеScrollable - Возвращает:
- true, если область просмотра должна принудительно устанавливать высоту этого объекта в соответствии с её собственной высотой
public boolean print()
throws PrinterException Метод печати по умолчанию, который отображает диалог печати, а затем печатает этот JTextComponent в интерактивном режиме без заголовка или подвала. Примечание: этот метод блокирует выполнение, пока печать не завершится.
Примечание: в режиме без головки диалоги не будут отображаться.
Этот метод вызывает полнофункциональный метод print для выполнения печати.
- Возвращает:
-
true, если печать не была отменена пользователем - Исключения:
-
PrinterException- если ошибка в системе печати приводит к прерыванию задачи -
SecurityException- если данному потоку не разрешено инициировать запрос задания печати - С:
- 1.6
- См. также:
print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)
public boolean print(MessageFormat headerFormat,
MessageFormat footerFormat)
throws PrinterException Метод печати по умолчанию, который отображает диалог печати, а затем печатает этот JTextComponent в интерактивном режиме с указанным заголовком и подвалом. Примечание: этот метод блокирует выполнение, пока печать не завершится.
Примечание: в режиме без головки диалоги не будут отображаться.
Этот метод вызывает полнофункциональный метод print для выполнения печати.
- Параметры:
-
headerFormat- текст, в форматеMessageFormat, используемый в качестве заголовка, илиnullдля отсутствия заголовка -
footerFormat- текст, в форматеMessageFormat, используемый в качестве подвала, илиnullдля отсутствия подвала - Возвращает:
-
true, если печать не была отменена пользователем - Исключения:
-
PrinterException- если ошибка в системе печати приводит к прерыванию задачи -
SecurityException- если данному потоку не разрешено инициировать запрос задания печати - С:
- 1.6
- См. также:
-
print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean),MessageFormat
public boolean print(MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintService service,
PrintRequestAttributeSet attributes,
boolean interactive)
throws PrinterException Печатает содержимое этого JTextComponent. Примечание: этот метод блокирует выполнение, пока печать не завершится.
Текст заголовка и подвала страницы можно добавить, указав аргументы MessageFormat. Код печати запрашивает Strings из форматов, предоставляя один элемент, который может быть включён в отформатированную строку: Integer представляющий текущий номер страницы.
Параметр showPrintDialog boolean позволяет указать, отображается ли диалог печати пользователю. Если он отображается, пользователь может использовать диалог для изменения атрибутов печати или даже отмены печати.
Параметр service позволяет указать начальную PrintService для диалога печати или указать принтер, к которому следует направить печать, когда диалог не отображается.
Параметр attributes может быть использован для предоставления начальных значений для диалога печати или для передачи необходимых атрибутов, когда диалог не отображается. attributes может быть использован для управления способом выполнения печати, например, двусторонней или односторонней.
Параметр interactive boolean позволяет указать, выполнять ли печать в интерактивном режиме. Если true, во время печати отображается диалог прогресса с опцией отмены. Этот диалог является модальным, когда print вызывается на потоке обработки событий и немодальным в противном случае. Предупреждение: вызов этого метода на потоке обработки событий с interactive false блокирует все события, включая перерисовку, от обработки до завершения печати. Это рекомендуется только при печати из приложения без видимого графического интерфейса.
Примечание: в режиме без головки параметры showPrintDialog и interactive игнорируются, и диалоги не отображаются.
Этот метод гарантирует, что document не изменяется во время печати. Для визуального обозначения этого setEnabled(false) устанавливается на период печати.
Этот метод использует getPrintable(java.text.MessageFormat, java.text.MessageFormat) для отображения содержимого документа.
Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Подробнее см. Асинхронность в Swing.
Пример использования. Следующий фрагмент кода демонстрирует кроссплатформенный диалог печати, а затем печатает JTextComponent в интерактивном режиме, если пользователь не отменяет диалог:
textComponent.print(new MessageFormat("My text component header"),
new MessageFormat("Footer. Page - {0}"), true, null, null, true); Выполнение этого кода вне потока обработки событий выполняет печать в фоновом режиме. Следующий шаблон может быть использован для фоновой печати:
FutureTask<Boolean> future =
new FutureTask<Boolean>(
new Callable<Boolean>() {
public Boolean call() {
return textComponent.print(.....);
}
});
executor.execute(future);
- Параметры:
-
headerFormat- текст, вMessageFormat, используемый в качестве заголовка, илиnullдля отсутствия заголовка -
footerFormat- текст, вMessageFormat, используемый в качестве подвала, илиnullдля отсутствия подвала -
showPrintDialog-trueдля отображения диалога печати,falseв противном случае -
service- начальныеPrintService, илиnullдля значения по умолчанию -
attributes- атрибуты задания, применяемые к заданию печати, илиnullдля отсутствия -
interactive- печатать в интерактивном режиме - Возвращает:
-
true, если печать не отменена пользователем - Использует:
-
PrinterException- если в системе печати произошла ошибка, из-за которой задание прервано -
SecurityException- если данному потоку не разрешено инициировать запрос на задание печати - С тех пор:
- 1.6
- См. также:
-
getPrintable(java.text.MessageFormat, java.text.MessageFormat),MessageFormat,GraphicsEnvironment.isHeadless(),FutureTask
getPrintable
public Printable getPrintable(MessageFormat headerFormat,
MessageFormat footerFormat) Возвращает Printable для печати содержимого данного JTextComponent. Возвращаемый Printable печатает документ так, как он выглядит на экране, за исключением переформатирования для размещения на листе бумаги. Возвращаемый Printable может быть обернут внутри другого Printable для создания сложных отчетов и документов.
Возвращаемый Printable использует document с этим JTextComponent. Разработчик отвечает за то, чтобы document не изменялся во время использования этого Printable. Поведение печати не определено, если document изменяется во время печати.
Текст заголовка и подвала страницы можно добавить, предоставив MessageFormat аргументы. Код печати запрашивает Strings из форматов, предоставляя единственный элемент, который может быть включен в форматированную строку: Integer представляющий текущий номер страницы.
Возвращаемый Printable при печати, форматирует содержимое документа в соответствии с размерами страницы. Для правильного переноса строк imageable width всех страниц должны быть одинаковыми. См. PageFormat.getImageableWidth().
Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Подробнее об асинхронности в Swing см. Асинхронность в Swing.
Возвращаемый Printable может быть напечатан в любом потоке.
Это реализация возвращающего Printable выполняет всю отрисовку в потоке обработки событий, независимо от того, в каком потоке он используется.
- Параметры:
-
headerFormat- текст, вMessageFormat, используемый в качестве заголовка, илиnullдля отсутствия заголовка -
footerFormat- текст, вMessageFormat, используемый в качестве подвала, илиnullдля отсутствия подвала - Возвращает:
- a
Printableдля использования при печати содержимого данногоJTextComponent - С тех пор:
- 1.6
- См. также:
-
Printable,PageFormat,Document.render(java.lang.Runnable)
getAccessibleContext
public AccessibleContext getAccessibleContext()
Получает AccessibleContext связанное с данным JTextComponent. Для текстовых компонентов AccessibleContext представлено в виде AccessibleJTextComponent. Новый AccessibleJTextComponent экземпляр создается при необходимости.
- Определено в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеComponent - Возвращает:
- a
AccessibleJTextComponent, являющийсяAccessibleContextданногоJTextComponent
paramString
protected String paramString()
Возвращает строковое представление данного JTextComponent. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут отличаться в разных реализациях. Возвращаемая строка может быть пустой, но не null.
Переопределение paramString для предоставления информации о конкретных новых аспектах компонентов JFC.
- Переопределяет:
-
paramStringв классеJComponent - Возвращает:
- строковое представление данного
JTextComponent
processInputMethodEvent
protected void processInputMethodEvent(InputMethodEvent e)
Описание скопировано из класса: Component
Обрабатывает события ввода с помощью методов, передавая их зарегистрированным InputMethodListener объектам.
Этот метод вызывается только тогда, когда события ввода включены для данного компонента. События ввода включаются, когда происходит одно из следующих:
- Объект
InputMethodListenerрегистрируется с помощьюaddInputMethodListener. - События ввода включаются с помощью
enableEvents.
Обратите внимание, что если параметр события равен null, поведение не определено и может привести к исключению.
- Переопределяет:
-
processInputMethodEventв классеComponent - Параметры:
-
e- событие ввода - См. также:
-
InputMethodEvent,InputMethodListener,Component.addInputMethodListener(java.awt.event.InputMethodListener),Component.enableEvents(long)
getInputMethodRequests
public InputMethodRequests getInputMethodRequests()
Описание скопировано из класса: Component
Получает обработчик запросов методов ввода, который поддерживает запросы от методов ввода для данного компонента. Компонент, поддерживающий ввод текста на месте, должен переопределить этот метод для возврата экземпляра InputMethodRequests. Одновременно он должен обрабатывать события методов ввода.
- Переопределяет:
-
getInputMethodRequestsв классеComponent - Возвращает:
- обработчик запросов метода ввода для данного компонента,
nullпо умолчанию - См. также:
Component.addInputMethodListener(java.awt.event.InputMethodListener)
addInputMethodListener
public void addInputMethodListener(InputMethodListener l)
Описание скопировано из класса: Component
Добавляет указанный обработчик событий методов ввода для получения событий методов ввода от данного компонента. Компонент будет получать события методов ввода от методов ввода только в том случае, если он также переопределяет getInputMethodRequests для возврата экземпляра InputMethodRequests. Если обработчик l равен null, исключение не выбрасывается и действия не выполняются.
Для получения подробной информации об асинхронной модели AWT см. Проблемы с асинхронностью AWT.
- Переопределяет:
-
addInputMethodListenerв классеComponent - Параметры:
-
l- обработчик событий методов ввода - См. также:
-
InputMethodEvent,InputMethodListener,Component.removeInputMethodListener(java.awt.event.InputMethodListener),Component.getInputMethodListeners(),Component.getInputMethodRequests()
saveComposedText
protected boolean saveComposedText(int pos)
Сохраняет составленный текст вокруг указанной позиции. Составленный текст (если он есть) вокруг указанной позиции сохраняется во внутренней памяти и удаляется из документа.
- Параметры:
-
pos- позиция документа для идентификации расположения составленного текста - Возвращает:
-
trueесли составленный текст существует и сохранен,falseв противном случае - С тех пор:
- 1.7
- См. также:
restoreComposedText()
restoreComposedText
protected void restoreComposedText()
Восстанавливает составленный текст, ранее сохраненный saveComposedText. Сохраненный составленный текст вставляется обратно в документ. Этот метод следует вызывать только в том случае, если saveComposedText возвращает true.
- С тех пор:
- 1.7
- См. также:
saveComposedText(int)
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.