Класс 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 там, где это разумно возможно. Кроме того, предоставляются другие службы для большей гибкости (помимо подключаемого пользовательского интерфейса и поддержки bean-компонентов). Информацию об использовании функциональности этого класса можно найти в разделе Общие правила использования текстовых компонентов руководства 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;
- перемещение каретки вперёд и назад
- Разделение модели и представления
- В текстовых компонентах модель отделена от представления. Текстовый компонент объединяет объекты, используемые для представления модели, представления и контроллера. Модель текстового документа может совместно использоваться другими представлениями, выступающими в роли наблюдателей модели (например, один документ может использоваться несколькими компонентами).
Модель задаётся интерфейсом
Document. Он предназначен для обеспечения гибкого механизма хранения текста, отслеживающего изменения при редактировании и допускающего расширение до более сложных моделей. Интерфейсы модели призваны отражать возможности представления выражений, предусмотренные SGML — системой, используемой для представления широкого спектра содержимого. Каждое изменение документа приводит к отправке всем наблюдателям уведомления с подробной информацией об изменении в видеDocumentEvent, что позволяет представлениям оставаться синхронизированными с моделью. Это событие отправляется наблюдателям, реализовавшим интерфейсDocumentListenerи зарегистрировавшим интерес к наблюдаемой модели. - Информация о расположении
- Предоставляется возможность определять расположение текста в представлении. Для получения этой информации предназначены два метода:
modelToView(int)иviewToModel(Point). - Поддержка отмены и повтора
- Предусмотрена поддержка механизма истории изменений, позволяющего отменять и повторять операции. Текстовый компонент сам по себе не предоставляет буфер истории по умолчанию, но предоставляет записи
UndoableEdit, которые можно использовать совместно с буфером истории для поддержки отмены и повтора. Поддержка реализована в модели Document, позволяющей подключать реализации UndoableEditListener. - Потокобезопасность
- Текстовые компоненты Swing обеспечивают некоторую поддержку потокобезопасных операций. Из-за высокой степени настраиваемости текстовых компонентов предоставленную защиту можно обойти. Защита в основном обеспечивается моделью, поэтому в документации к
AbstractDocumentописаны предположения, на которых основана эта защита. Методы, которые можно безопасно вызывать асинхронно, отмечены комментариями. - Символы новой строки
- Описание обработки символов новой строки см. в разделе DefaultEditorKit.
- Поддержка печати
- Для базовой печати документов предоставляется несколько методов
print. Если требуется более сложная печать, используйте методgetPrintable(MessageFormat, MessageFormat).
Предупреждение: сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации предназначена для краткосрочного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
class |
JTextComponent.AccessibleJTextComponent |
Этот класс реализует поддержку специальных возможностей для класса JTextComponent. |
static final class |
JTextComponent.DropLocation |
Представляет место сброса для JTextComponent. |
static class |
JTextComponent.KeyBinding |
Запись привязки для создания привязок клавиш. |
Вложенные классы и интерфейсы, объявленные в классе JComponent
JComponent.AccessibleJComponent
Вложенные классы и интерфейсы, объявленные в классе Container
Container.AccessibleAWTContainer
Вложенные классы и интерфейсы, объявленные в классе Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
DEFAULT_KEYMAP |
Карта клавиш по умолчанию, совместно используемая всеми экземплярами JTextComponent, если для них не задана другая карта клавиш. |
static final String |
FOCUS_ACCELERATOR_KEY |
Имя связанного свойства для акселератора фокуса. |
Поля, объявленные в классе JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Поля, объявленные в классе Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Поля, объявленные в интерфейсе ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JTextComponent() |
Создаёт новый объект JTextComponent. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addCaretListener |
Добавляет прослушиватель каретки для получения уведомлений о любых изменениях каретки. |
static Keymap |
addKeymap |
Добавляет новую карту клавиш в иерархию карт клавиш. |
void |
copy() |
Передаёт текущий выделенный фрагмент связанной текстовой модели в системный буфер обмена, оставляя содержимое в текстовой модели. |
void |
cut() |
Передаёт текущий выделенный фрагмент связанной текстовой модели в системный буфер обмена, удаляя содержимое из модели. |
protected void |
fireCaretUpdate |
Уведомляет всех прослушивателей, зарегистрировавших интерес к уведомлениям о событиях этого типа. |
AccessibleContext |
getAccessibleContext() |
Возвращает AccessibleContext, связанный с этим JTextComponent. |
Action[] |
getActions() |
Получает список команд редактора. |
Caret |
getCaret() |
Получает каретку, обеспечивающую навигацию по представлению, ориентированную на текст. |
Color |
getCaretColor() |
Получает текущий цвет для отображения каретки. |
CaretListener[] |
getCaretListeners() |
Возвращает массив всех прослушивателей каретки, зарегистрированных для этого текстового компонента. |
int |
getCaretPosition() |
Возвращает позицию каретки вставки текста для текстового компонента. |
Color |
getDisabledTextColor() |
Получает текущий цвет для отображения отключённого текста. |
Document |
getDocument() |
Получает модель, связанную с редактором. |
boolean |
getDragEnabled() |
Возвращает, включена ли автоматическая обработка перетаскивания. |
final JTextComponent.DropLocation |
getDropLocation() |
Возвращает место, которое этот компонент должен визуально обозначать как место сброса во время операции DnD над компонентом, или null, если в данный момент место не должно отображаться. |
final DropMode |
getDropMode() |
Возвращает режим сброса для этого компонента. |
char |
getFocusAccelerator() |
Возвращает клавишу-акселератор, которая передаст фокус этому текстовому компоненту. |
Highlighter |
getHighlighter() |
Получает объект, отвечающий за подсветку. |
InputMethodRequests |
getInputMethodRequests() |
Получает обработчик запросов методов ввода, поддерживающий запросы методов ввода для этого компонента. |
Keymap |
getKeymap() |
Получает карту клавиш, активную в данный момент в этом текстовом компоненте. |
static Keymap |
getKeymap |
Получает именованную карту клавиш, ранее добавленную в документ. |
Insets |
getMargin() |
Возвращает отступ между границей текстового компонента и его текстом. |
NavigationFilter |
getNavigationFilter() |
Возвращает NavigationFilter. |
Dimension |
getPreferredScrollableViewportSize() |
Возвращает предпочтительный размер области просмотра для компонента-представления. |
Printable |
getPrintable |
Возвращает Printable для печати содержимого этого JTextComponent. |
int |
getScrollableBlockIncrement |
Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью покажет блок строк или столбцов в зависимости от значения ориентации. |
boolean |
getScrollableTracksViewportHeight() |
Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого Scrollable равной высоте области просмотра. |
boolean |
getScrollableTracksViewportWidth() |
Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого Scrollable равной ширине области просмотра. |
int |
getScrollableUnitIncrement |
Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью покажет одну новую строку или столбец в зависимости от значения ориентации. |
String |
getSelectedText() |
Возвращает выделенный текст, содержащийся в этом TextComponent. |
Color |
getSelectedTextColor() |
Получает текущий цвет для отображения выделенного текста. |
Color |
getSelectionColor() |
Получает текущий цвет для отображения выделения. |
int |
getSelectionEnd() |
Возвращает конечную позицию выделенного текста. |
int |
getSelectionStart() |
Возвращает начальную позицию выделенного текста. |
String |
getText() |
Возвращает текст, содержащийся в этом TextComponent. |
String |
getText |
Получает часть текста, представленного компонентом. |
String |
getToolTipText |
Возвращает строку, используемую в качестве всплывающей подсказки для event. |
TextUI |
getUI() |
Получает фабрику пользовательского интерфейса для этого текстового редактора. |
boolean |
isEditable() |
Возвращает логическое значение, указывающее, доступен ли этот TextComponent для редактирования. |
static void |
loadKeymap |
Загружает карту клавиш с набором привязок. |
Rectangle |
modelToView |
Устарело. |
Rectangle2D |
modelToView2D |
Преобразует заданное положение в модели в точку в системе координат представления. |
void |
moveCaretPosition |
Перемещает каретку в новое положение, оставляя метку, заданную при последнем вызове setCaretPosition. |
protected String |
paramString() |
Возвращает строковое представление этого JTextComponent. |
void |
paste() |
Переносит содержимое системного буфера обмена в связанную текстовую модель. |
boolean |
print() |
Удобный метод печати: отображает диалог печати, а затем печатает этот JTextComponent в интерактивном режиме без текста верхнего и нижнего колонтитулов. |
boolean |
print |
Удобный метод печати: отображает диалог печати, а затем печатает этот JTextComponent в интерактивном режиме с указанным текстом верхнего и нижнего колонтитулов. |
boolean |
print |
Печатает содержимое этого JTextComponent. |
void |
read |
Инициализирует из потока. |
void |
removeCaretListener |
Удаляет прослушиватель каретки. |
static Keymap |
removeKeymap |
Удаляет именованную карту клавиш, ранее добавленную в документ. |
void |
replaceSelection |
Заменяет текущее выделенное содержимое новым содержимым, представленным заданной строкой. |
protected void |
restoreComposedText() |
Восстанавливает составленный текст, ранее сохранённый методом saveComposedText. |
protected boolean |
saveComposedText |
Сохраняет составленный текст вокруг указанной позиции. |
void |
select |
Выделяет текст между указанными начальной и конечной позициями. |
void |
selectAll() |
Выделяет весь текст в TextComponent. |
void |
setCaret |
Задаёт используемую каретку. |
void |
setCaretColor |
Задаёт текущий цвет для отображения каретки. |
void |
setCaretPosition |
Задаёт позицию каретки вставки текста для TextComponent. |
void |
setDisabledTextColor |
Задаёт текущий цвет для отображения отключённого текста. |
void |
setDocument |
Связывает редактор с текстовым документом. |
void |
setDragEnabled |
Включает или отключает автоматическую обработку перетаскивания. |
final void |
setDropMode |
Задаёт режим сброса для этого компонента. |
void |
setEditable |
Задаёт указанное логическое значение, определяющее, доступен ли этот TextComponent для редактирования. |
void |
setFocusAccelerator |
Задаёт клавишу-акселератор, которая передаст фокус этому текстовому компоненту. |
void |
setHighlighter |
Задаёт используемый маркер выделения. |
void |
setKeymap |
Задаёт карту клавиш, используемую для привязки событий к действиям. |
void |
setMargin |
Задаёт отступ между границей текстового компонента и его текстом. |
void |
setNavigationFilter |
Задаёт NavigationFilter. |
void |
setSelectedTextColor |
Задаёт текущий цвет для отображения выделенного текста. |
void |
setSelectionColor |
Задаёт текущий цвет для отображения выделения. |
void |
setSelectionEnd |
Задаёт конечную позицию выделения. |
void |
setSelectionStart |
Задаёт начальную позицию выделения. |
void |
setText |
Задаёт для этого TextComponent указанный текст. |
void |
setUI |
Задаёт фабрику пользовательского интерфейса для этого текстового редактора. |
void |
updateUI() |
Повторно загружает подключаемый пользовательский интерфейс. |
int |
viewToModel |
Устарело. заменено на viewToModel2D(Point2D)
|
int |
viewToModel2D |
Преобразует заданное положение в системе координат представления в ближайшее соответствующее ему положение в модели. |
void |
write |
Сохраняет содержимое модели в заданный поток. |
Методы, объявленные в классе 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
Методы, объявленные в классе 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
Методы, объявленные в классе 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
Подробное описание полей
FOCUS_ACCELERATOR_KEY
public static final String FOCUS_ACCELERATOR_KEY
- См. также:
DEFAULT_KEYMAP
public static final String DEFAULT_KEYMAP
JTextComponent, если для них не задана другая карта клавиш.- См. также:
Подробное описание конструкторов
JTextComponent
public JTextComponent()
JTextComponent. Регистрируются слушатели событий каретки и устанавливается подключаемый пользовательский интерфейс. Компонент помечается как доступный для редактирования. Менеджер компоновки не используется, поскольку компоновкой управляет подсистема представлений текста. Модель документа устанавливается в null.Подробное описание методов
getUI
public TextUI getUI()
- Переопределяет:
-
getUIв классеJComponent - Возвращает:
- фабрику
setUI
public void setUI(TextUI ui)
- Параметры:
-
ui— фабрика
updateUI
public void updateUI()
getUIClassID(). Тип пользовательского интерфейса — TextUI. После установки пользовательского интерфейса вызывается invalidate.- Переопределяет:
-
updateUIв классеJComponent - См. также:
addCaretListener
public void addCaretListener(CaretListener listener)
- Параметры:
-
listener— добавляемый слушатель - См. также:
removeCaretListener
public void removeCaretListener(CaretListener listener)
- Параметры:
-
listener— удаляемый слушатель - См. также:
getCaretListeners
@BeanProperty(bound=false) public CaretListener[] getCaretListeners()
- Возвращает:
- всех
CaretListeners этого компонента или пустой массив, если в данный момент слушатели каретки не зарегистрированы - С версии:
- 1.4
- См. также:
fireCaretUpdate
protected void fireCaretUpdate(CaretEvent e)
- Параметры:
-
e— событие - См. также:
setDocument
@BeanProperty(expert=true, description="the text document model") public void setDocument(Document doc)
- Параметры:
-
doc— документ для отображения/редактирования - См. также:
getDocument
public Document getDocument()
- Возвращает:
- модель
getActions
@BeanProperty(bound=false) public Action[] getActions()
- Возвращает:
- список команд
setMargin
@BeanProperty(description="desired space between the border and text area") public void setMargin(Insets m)
Border по умолчанию для текстового компонента использует это значение для создания соответствующего отступа. Однако, если для текстового компонента задана нестандартная граница, создание подходящего отступа является обязанностью объекта Border (иначе это свойство фактически будет игнорироваться). Это приводит к перерисовке компонента. Всем слушателям отправляется событие PropertyChange ("margin").- Параметры:
-
m— расстояние между границей и текстом
getMargin
public Insets getMargin()
- Возвращает:
- отступ
getCaret
public Caret getCaret()
- Возвращает:
- каретку
setCaret
@BeanProperty(expert=true, description="the caret used to select/navigate") public void setCaret(Caret c)
- Параметры:
-
c— каретка - См. также:
getHighlighter
public Highlighter getHighlighter()
- Возвращает:
- средство выделения
setHighlighter
@BeanProperty(expert=true, description="object responsible for background highlights") public void setHighlighter(Highlighter h)
null. При установке нового средства выделения отправляется событие PropertyChange ("highlighter").- Параметры:
-
h— средство выделения - См. также:
setKeymap
@BeanProperty(description="set of key event to action bindings to use") public void setKeymap(Keymap map)
null, ввод с клавиатуры фактически отключается. При установке новой карты клавиш отправляется событие PropertyChange ("keymap").- Параметры:
-
map— карта клавиш - См. также:
setDragEnabled
@BeanProperty(bound=false, description="determines whether automatic drag handling is enabled") public void setDragEnabled(boolean b)
true, а свойство TransferHandler компонента должно иметь значение non-null. Значение свойства dragEnabled по умолчанию — false. За обработку этого свойства и распознавание жеста перетаскивания пользователя отвечает реализация внешнего вида и поведения, в частности TextUI компонента. Когда автоматическая обработка перетаскивания включена, большинство реализаций внешнего вида и поведения (включая подклассы BasicLookAndFeel) начинают операцию перетаскивания, когда пользователь нажимает кнопку мыши над выделением, а затем перемещает мышь на несколько пикселей. Поэтому установка для этого свойства значения true может незаметно повлиять на поведение выделения.
Если используется реализация внешнего вида и поведения, которая игнорирует это свойство, операцию перетаскивания все равно можно начать, вызвав exportAsDrag у объекта TransferHandler компонента.
- Параметры:
-
b— следует ли включить автоматическую обработку перетаскивания - Вызывает исключение:
-
HeadlessException— еслиbимеет значениеtrueиGraphicsEnvironment.isHeadless()возвращаетtrue - С версии:
- 1.4
- См. также:
getDragEnabled
public boolean getDragEnabled()
- Возвращает:
- значение свойства
dragEnabled - С версии:
- 1.4
- См. также:
setDropMode
public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION. Однако для более удобной работы рекомендуется использовать DropMode.INSERT. Он обеспечивает аналогичное поведение при сбросе между позициями текста, но не изменяет фактическое выделение текста и положение каретки. JTextComponents поддерживают следующие режимы сброса:
DropMode.USE_SELECTIONDropMode.INSERT
Режим сброса имеет смысл только в том случае, если у компонента есть TransferHandler, принимающий данные.
- Параметры:
-
dropMode— используемый режим сброса - Вызывает исключение:
-
IllegalArgumentException— если режим сброса не поддерживается илиnull - С версии:
- 1.6
- См. также:
getDropMode
public final DropMode getDropMode()
- Возвращает:
- режим сброса для этого компонента
- С версии:
- 1.6
- См. также:
getDropLocation
@BeanProperty(bound=false) public final JTextComponent.DropLocation getDropLocation()
null, если в данный момент место не нужно отображать. Этот метод не предназначен для запроса места сброса из TransferHandler, поскольку место сброса задается только после возврата canImport метода TransferHandler и разрешения отображения этого места.
При изменении этого свойства компонент отправляет событие изменения свойства с именем "dropLocation".
- Возвращает:
- место сброса
- С версии:
- 1.6
- См. также:
getKeymap
public Keymap getKeymap()
- Возвращает:
- карту клавиш
addKeymap
public static Keymap addKeymap(String nm, Keymap parent)
- Параметры:
-
nm— имя карты клавиш (должно быть уникальным среди именованных карт клавиш в документе); имя может бытьnull, если карта клавиш не имеет имени, однако вызывающий код должен самостоятельно управлять возвращенной ссылкой, поскольку карту клавиш без имени нельзя получить по имени -
parent— родительская карта клавиш; может бытьnull, если несвязанные клавиши не требуется разрешать с помощью другой карты клавиш - Возвращает:
- карту клавиш
removeKeymap
public static Keymap removeKeymap(String nm)
null нельзя удалить таким способом.- Параметры:
-
nm— имя удаляемой карты клавиш - Возвращает:
- удаленная карта клавиш
getKeymap
public static Keymap getKeymap(String nm)
null.- Параметры:
-
nm— имя карты клавиш - Возвращает:
- карту клавиш
loadKeymap
public static void loadKeymap(Keymap map, JTextComponent.KeyBinding[] bindings, Action[] actions)
Загружает карту клавиш набором связываний. Это можно использовать для загрузки статической таблицы определений в карту клавиш. В следующем примере показано, как связать некоторые клавиши с действиями вырезания, копирования и вставки, связанными с JTextComponent. Фрагмент кода для этого может выглядеть следующим образом:
static final JTextComponent.KeyBinding[] defaultBindings = {
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
DefaultEditorKit.copyAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
DefaultEditorKit.pasteAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
DefaultEditorKit.cutAction),
};
JTextComponent c = new JTextPane();
Keymap k = c.getKeymap();
JTextComponent.loadKeymap(k, defaultBindings, c.getActions());
Наборы связываний и действий могут быть пустыми, но не должны быть равны null.- Параметры:
-
map— карта клавиш -
bindings— связывания -
actions— набор действий
getCaretColor
public Color getCaretColor()
- Возвращает:
- цвет
setCaretColor
@BeanProperty(preferred=true, description="the color used to render the caret") public void setCaretColor(Color c)
null фактически восстанавливает цвет по умолчанию. Установка цвета приводит к отправке события PropertyChange ("caretColor").- Параметры:
-
c— цвет - См. также:
getSelectionColor
public Color getSelectionColor()
- Возвращает:
- цвет
setSelectionColor
@BeanProperty(preferred=true, description="color used to render selection background") public void setSelectionColor(Color c)
null равносильна установке Color.white. Установка цвета приводит к отправке события PropertyChange ("selectionColor").- Параметры:
-
c— цвет - См. также:
getSelectedTextColor
public Color getSelectedTextColor()
- Возвращает:
- цвет
setSelectedTextColor
@BeanProperty(preferred=true, description="color used to render selected text") public void setSelectedTextColor(Color c)
null равносильна Color.black. Установка цвета приводит к отправке события PropertyChange ("selectedTextColor").- Параметры:
-
c— цвет - См. также:
getDisabledTextColor
public Color getDisabledTextColor()
- Возвращает:
- цвет
setDisabledTextColor
@BeanProperty(preferred=true, description="color used to render disabled text") public void setDisabledTextColor(Color c)
- Параметры:
-
c— цвет - См. также:
replaceSelection
public void replaceSelection(String content)
Этот метод используется реализацией по умолчанию действия вставки содержимого, связанного с действиями карты клавиш.
- Параметры:
-
content— содержимое, которым нужно заменить выделение
getText
public String getText(int offs, int len) throws BadLocationException
- Параметры:
-
offs— смещение ≥ 0 -
len— длина ≥ 0 - Возвращает:
- текст
- Вызывает исключение:
-
BadLocationException— если смещение или длина недопустимы
modelToView
@Deprecated(since="9") public Rectangle modelToView(int pos) throws BadLocationException
modelToView2D(int)
- Параметры:
-
pos— позиция ≥ 0 - Возвращает:
- координаты в виде прямоугольника, где (r.x, r.y) — местоположение в системе координат, или null, если компонент еще не имеет ненулевого размера.
- Вызывает исключение:
-
BadLocationException— если указанная позиция не соответствует допустимому местоположению в связанном документе - См. также:
modelToView2D
public Rectangle2D modelToView2D(int pos) throws BadLocationException
- Параметры:
-
pos— позиция>= 0 - Возвращает:
- координаты в виде прямоугольника, где (r.x, r.y) — местоположение в системе координат, или null, если компонент еще не имеет ненулевого размера.
- Вызывает исключение:
-
BadLocationException— если указанная позиция не соответствует допустимому местоположению в связанном документе - С версии:
- 9
- См. также:
viewToModel
@Deprecated(since="9") public int viewToModel(Point pt)
viewToModel2D(Point2D)
- Параметры:
-
pt— местоположение в представлении для преобразования - Возвращает:
- смещение ≥ 0 от начала документа или -1, если компонент еще не имеет ненулевого размера.
- См. также:
viewToModel2D
public int viewToModel2D(Point2D pt)
- Параметры:
-
pt— местоположение в представлении для преобразования - Возвращает:
- смещение
>= 0от начала документа или-1, если компонент еще не имеет ненулевого размера. - С версии:
- 9
- См. также:
cut
public void cut()
null.- См. также:
copy
public void copy()
null.- См. также:
paste
public void paste()
- См. также:
moveCaretPosition
public void moveCaretPosition(int pos)
setCaretPosition. Так формируется выделение. Если документ находится в состоянии null, ничего не происходит. Позиция должна находиться в диапазоне от 0 до длины текста компонента; в противном случае возникает исключение.- Параметры:
-
pos— позиция - Исключения:
-
IllegalArgumentException— если значение, переданное дляposition, меньше нуля или больше длины текста компонента - См. также:
setFocusAccelerator
@BeanProperty(description="accelerator character used to grab focus") public void setFocusAccelerator(char aKey)
- Параметры:
-
aKey— клавиша - См. также:
getFocusAccelerator
public char getFocusAccelerator()
- Возвращает:
- клавиша
read
public void read(Reader in, Object desc) throws IOException
- Параметры:
-
in— поток для чтения -
desc— объект, описывающий поток; это может быть строка, File, URL и т. д. Некоторые типы документов (например, HTML) могут использовать эту информацию; если значение неnull, оно добавляется в качестве свойства документа - Исключения:
-
IOException— исключение, возникшее при использовании потока для инициализации - См. также:
write
public void write(Writer out) throws IOException
- Параметры:
-
out— выходной поток - Исключения:
-
IOException— при любой ошибке ввода-вывода
setCaretPosition
@BeanProperty(bound=false, description="the caret position") public void setCaretPosition(int position)
TextComponent. Обратите внимание, что каретка отслеживает изменения, поэтому ее позиция может измениться, если изменится базовый текст компонента. Если документ находится в состоянии null, ничего не происходит. Позиция должна находиться в диапазоне от 0 до длины текста компонента; в противном случае возникает исключение.- Параметры:
-
position— позиция - Исключения:
-
IllegalArgumentException— если значение, переданное дляposition, меньше нуля или больше длины текста компонента
getCaretPosition
public int getCaretPosition()
- Возвращает:
- позиция текстовой каретки вставки в текстовом компоненте ≥ 0
setText
@BeanProperty(bound=false, description="the text of this component") public void setText(String t)
TextComponent указанный текст. Если текст равен null или пуст, старый текст просто удаляется. После вставки текста итоговая позиция каретки определяется реализацией класса каретки. Обратите внимание, что текст не является связанным свойством, поэтому при его изменении событие PropertyChangeEvent
не вызывается. Чтобы отслеживать изменения текста, используйте DocumentListener.
- Параметры:
-
t— новый текст - См. также:
getText
public String getText()
TextComponent. Если базовый документ находится в состоянии null, будет вызвано исключение NullPointerException. Обратите внимание, что текст не является связанным свойством, поэтому при его изменении событие PropertyChangeEvent
не вызывается. Чтобы отслеживать изменения текста, используйте DocumentListener.- Возвращает:
- текст
- Исключения:
-
NullPointerException— если документ находится в состоянииnull - См. также:
getSelectedText
@BeanProperty(bound=false) public String getSelectedText()
TextComponent. Если выделение находится в состоянии null или документ пуст, возвращает null.- Возвращает:
- текст
- Исключения:
-
IllegalArgumentException— если по какой-либо причине выделение не имеет допустимого соответствия в документе - См. также:
isEditable
public boolean isEditable()
TextComponent для редактирования.- Возвращает:
- логическое значение
- См. также:
setEditable
@BeanProperty(description="specifies if the text can be edited") public void setEditable(boolean b)
TextComponent быть доступен для редактирования. При изменении состояния вызывается событие PropertyChange ("editable").- Параметры:
-
b— задаваемое логическое значение - См. также:
getSelectionStart
public int getSelectionStart()
- Возвращает:
- начальная позиция ≥ 0
setSelectionStart
@BeanProperty(bound=false, description="starting location of the selection.") public void setSelectionStart(int selectionStart)
Этот метод доступен для обратной совместимости с кодом, вызывавшим его для java.awt.TextComponent. Реализация перенаправляет вызов в реализацию Caret, где фактически хранится выделение.
- Параметры:
-
selectionStart— начальная позиция текста ≥ 0
getSelectionEnd
public int getSelectionEnd()
- Возвращает:
- конечная позиция ≥ 0
setSelectionEnd
@BeanProperty(bound=false, description="ending location of the selection.") public void setSelectionEnd(int selectionEnd)
Этот метод доступен для обратной совместимости с кодом, вызывавшим его для java.awt.TextComponent. Реализация перенаправляет вызов в реализацию Caret, где фактически хранится выделение.
- Параметры:
-
selectionEnd— конечная позиция текста ≥ 0
select
public void select(int selectionStart, int selectionEnd)
Этот метод задает начальную и конечную позиции выделенного текста, обеспечивая соблюдение следующих ограничений: начальная позиция должна быть больше или равна нулю; конечная позиция должна быть больше или равна начальной позиции и меньше или равна длине текста текстового компонента.
Если вызывающий код передает несогласованные значения или значения за пределами допустимого диапазона, метод молча приводит их к допустимым значениям. В частности, если начальная или конечная позиция больше длины текста, она сбрасывается до длины текста. Если начальная позиция меньше нуля, она сбрасывается до нуля; если конечная позиция меньше начальной, она сбрасывается до начальной.
Этот вызов предоставлен для обратной совместимости. Он перенаправляется на вызов setCaretPosition, за которым следует вызов moveCaretPosition. Предпочтительный способ управления выделением — напрямую вызывать эти методы.
- Параметры:
-
selectionStart— начальная позиция текста -
selectionEnd— конечная позиция текста - См. также:
selectAll
public void selectAll()
TextComponent. Ничего не делает, если документ находится в состоянии null или пуст.getToolTipText
public String getToolTipText(MouseEvent event)
event. Возвращается одно из следующих значений: - Если для
setToolTipTextбыл задан вызовом не-null, возвращается это значение; в противном случае - возвращается значение, полученное при вызове
getToolTipTextпользовательского интерфейса.
JTextComponent не регистрируется в ToolTipManager. Это означает, что всплывающие подсказки для TextUI НЕ отображаются, пока для ToolTipManager не будет вызван registerComponent.- Переопределяет:
-
getToolTipTextв классеJComponent - Параметры:
-
event— рассматриваемое событие - Возвращает:
- строка, используемая в качестве всплывающей подсказки для
event - См. также:
getPreferredScrollableViewportSize
@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
- Определено в:
-
getPreferredScrollableViewportSizeв интерфейсеScrollable - Возвращает:
preferredSizeобъектаJViewport, представлением которого является этотScrollable- См. также:
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
Стандартная реализация просто возвращает 10% видимой области. Подклассы, вероятно, смогут предоставить гораздо более подходящее значение.
- Определено в:
-
getScrollableUnitIncrementв интерфейсеScrollable - Параметры:
-
visibleRect— видимая в области просмотра область представления -
orientation— либоSwingConstants.VERTICAL, либоSwingConstants.HORIZONTAL -
direction— значение меньше нуля для прокрутки вверх/влево, больше нуля — вниз/вправо - Возвращает:
- «единичный» шаг прокрутки в указанном направлении
- Исключения:
-
IllegalArgumentException— при недопустимой ориентации - См. также:
getScrollableBlockIncrement
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
Стандартная реализация просто возвращает видимую область. Подклассы, вероятно, смогут предоставить гораздо более подходящее значение.
- Определено в:
-
getScrollableBlockIncrementв интерфейсеScrollable - Параметры:
-
visibleRect— видимая в области просмотра область представления -
orientation— либоSwingConstants.VERTICAL, либоSwingConstants.HORIZONTAL -
direction— значение меньше нуля для прокрутки вверх/влево, больше нуля — вниз/вправо - Возвращает:
- «блочный» шаг прокрутки в указанном направлении
- Исключения:
-
IllegalArgumentException— при недопустимой ориентации - См. также:
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
Scrollable равной своей ширине. Например, обычное текстовое представление с переносом строк вернуло бы здесь true, поскольку нежелательно, чтобы перенесенные строки исчезали за правым краем области просмотра. Обратите внимание, что возврат true для Scrollable, предком которого является JScrollPane, фактически отключает горизонтальную прокрутку. Контейнеры с прокруткой, такие как JViewport, вызывают этот метод при каждой проверке.
- Определено в:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Возвращает:
- true, если область просмотра должна принудительно установить ширину
Scrollableравной собственной ширине
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Scrollable равной своей высоте. Например, текстовое представление в виде столбцов, переносящее текст в столбцы слева направо, могло бы фактически отключить вертикальную прокрутку, возвращая здесь true. Контейнеры с прокруткой, такие как JViewport, вызывают этот метод при каждой проверке.
- Определено в:
-
getScrollableTracksViewportHeightв интерфейсеScrollable - Возвращает:
- true, если область просмотра должна принудительно установить высоту прокручиваемого компонента равной собственной высоте
public boolean print() throws PrinterException
JTextComponent в интерактивном режиме без текста в верхнем и нижнем колонтитулах. Примечание: этот метод блокирует выполнение до завершения печати. Примечание: в безголовом режиме диалоговые окна не отображаются.
Для печати этот метод вызывает полнофункциональный метод print.
- Возвращает:
-
true, если только пользователь не отменил печать - Исключения:
-
PrinterException— если ошибка подсистемы печати приводит к прерыванию задания - С версии:
- 1.6
- См. также:
public boolean print(MessageFormat headerFormat, MessageFormat footerFormat) throws PrinterException
JTextComponent в интерактивном режиме с указанным текстом верхнего и нижнего колонтитулов. Примечание: этот метод блокирует выполнение до завершения печати. Примечание: в безголовом режиме диалоговые окна не отображаются.
Для печати этот метод вызывает полнофункциональный метод print.
- Параметры:
-
headerFormat— текст в форматеMessageFormatдля верхнего колонтитула илиnull, если колонтитул не нужен -
footerFormat— текст в форматеMessageFormatдля нижнего колонтитула илиnull, если колонтитул не нужен - Возвращает:
-
true, если только пользователь не отменил печать - Исключения:
-
PrinterException— если ошибка подсистемы печати приводит к прерыванию задания - С версии:
- 1.6
- См. также:
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(MessageFormat, 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— если ошибка подсистемы печати приводит к прерыванию задания - С версии:
- 1.6
- См. также:
getPrintable
public Printable getPrintable(MessageFormat headerFormat, MessageFormat footerFormat)
Printable для печати содержимого этого JTextComponent. Возвращенный объект Printable печатает документ так, как он выглядит на экране, с изменением форматирования для соответствия размеру бумаги. Возвращенный объект Printable можно обернуть в другой Printable, чтобы создавать сложные отчеты и документы. Возвращенный объект Printable использует тот же document, что и этот JTextComponent. Разработчик отвечает за то, чтобы document не изменялся во время использования этого Printable. Если document изменяется во время печати, поведение печати не определено.
Текст верхнего и нижнего колонтитулов можно добавить в выходные данные, передав аргументы MessageFormat. Код печати запрашивает у форматов Strings, передавая один элемент, который может быть включен в форматированную строку: Integer, представляющий номер текущей страницы.
При печати возвращенный объект Printable форматирует содержимое документа в соответствии с размером страницы. Для правильного переноса строк imageable width всех страниц должны быть одинаковыми. См. PageFormat.getImageableWidth().
Этот метод потокобезопасен, хотя большинство методов Swing — нет. Дополнительные сведения см. в разделе Параллельность в Swing.
Возвращенный объект Printable можно печатать в любом потоке.
В этой реализации возвращаемый объект Printable выполняет все операции рисования в потоке диспетчеризации событий, независимо от того, в каком потоке он используется.
- Параметры:
-
headerFormat— текст в форматеMessageFormatдля верхнего колонтитула илиnull, если колонтитул не нужен -
footerFormat— текст в форматеMessageFormatдля нижнего колонтитула илиnull, если колонтитул не нужен - Возвращает:
- объект
Printableдля печати содержимого этогоJTextComponent - С версии:
- 1.6
- См. также:
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
AccessibleContext, связанный с этим JTextComponent. Для текстовых компонентов AccessibleContext имеет вид AccessibleJTextComponent. При необходимости создается новый экземпляр AccessibleJTextComponent.- Определено в:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеComponent - Возвращает:
- объект
AccessibleJTextComponent, выполняющий рольAccessibleContextэтогоJTextComponent
paramString
protected String paramString()
JTextComponent. Этот метод предназначен только для отладки; содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null. Переопределите paramString, чтобы предоставить сведения о новых особенностях компонентов JFC.
- Переопределяет:
-
paramStringв классеJComponent - Возвращает:
- строковое представление этого
JTextComponent
getInputMethodRequests
@BeanProperty(bound=false) public InputMethodRequests getInputMethodRequests()
ComponentInputMethodRequests. Кроме того, он должен обрабатывать события метода ввода.- Переопределяет:
-
getInputMethodRequestsв классеComponent - Возвращает:
- обработчик запросов метода ввода для этого компонента; по умолчанию —
null - См. также:
saveComposedText
protected boolean saveComposedText(int pos)
- Параметры:
-
pos— позиция в документе, используемая для определения местоположения составного текста - Возвращает:
-
true, если составной текст существует и сохранён; в противном случае —false - С версии:
- 1.7
- См. также:
restoreComposedText
protected void restoreComposedText()
saveComposedText. Сохранённый составной текст вставляется обратно в документ. Этот метод следует вызывать только в том случае, если saveComposedText возвращает true.- С версии:
- 1.7
- См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/JTextComponent.html
modelToView2D(int)