Класс JTextComponent
- Все реализуемые интерфейсы:
-
ImageObserver,MenuContainer,Serializable,Accessible,Scrollable
- Прямые известные подклассы:
-
JEditorPane,JTextArea,JTextField
@JavaBean(defaultProperty="UI") public abstract class JTextComponent extends JComponent implements Scrollable, Accessible
JTextComponent — базовый класс для текстовых компонентов Swing. Он старается быть совместимым с классом java.awt.TextComponent, где это возможно. Также предоставляются другие сервисы для дополнительной гибкости (помимо подключаемого пользовательского интерфейса и поддержки свойств). Сведения о том, как использовать функциональные возможности этого класса, можно найти в Общие правила использования текстовых компонентов, разделе учебника The Java Tutorial. - Изменения курсора
- Курсор — это подключаемый объект в текстовых компонентах Swing. Уведомления об изменениях позиции курсора и выделения отправляются реализациям интерфейса
CaretListener, которые были зарегистрированы в текстовом компоненте. Пользовательский интерфейс установит стандартный курсор, если не был задан настраиваемый.
По умолчанию курсор отслеживает все изменения документа, выполняемые в потоке обработки событий, и обновляет свое положение в соответствии с этим, если вставка происходит перед или в позиции курсора, или удаление происходит перед позицией курсора.DefaultCaretпытается сделать себя видимым, что может привести к прокрутке текстового компонента вJScrollPane. Поведение курсора по умолчанию можно изменить с помощью методаDefaultCaret.setUpdatePolicy(int).
Примечание: В нередактируемых текстовых компонентах также есть курсор, хотя он может и не отображаться. - Команды
- Текстовые компоненты предоставляют ряд команд, которые могут быть использованы для управления компонентом. По существу, это способ, которым компонент выражает свои возможности. Они выражены в терминах интерфейса Swing
Action, с использованием реализацииTextAction. Набор команд, поддерживаемых текстовым компонентом, можно найти с помощью методаgetActions(). Эти действия можно привязать к событиям нажатия клавиш, запускать из кнопок и т. д. - Ввод текста
- Текстовые компоненты поддерживают гибкий и интернационализированный ввод текста, используя раскладки клавиатуры и механизм обработки ввода, сохраняя при этом совместимость с моделью слушателей AWT.
Keymapпозволяет приложению привязывать нажатия клавиш к действиям. Для того чтобы разрешить совместное использование раскладок клавиатуры между несколькими текстовыми компонентами, они могут использовать действия, которые расширяютTextAction.TextActionможет определить, какойJTextComponentнедавно имел или имел фокус и, следовательно, является объектом действия (в случае, еслиActionEvent, отправленный в действие, не содержит целевой текстовый компонент в качестве источника).Input Method Framework позволяет текстовым компонентам взаимодействовать с методами ввода, отдельными программными компонентами, которые предварительно обрабатывают события, чтобы пользователи могли вводить тысячи различных символов с помощью клавиатур с гораздо меньшим количеством клавиш.
JTextComponentявляется активным клиентом фреймворка, поэтому он реализует предпочтительный пользовательский интерфейс для взаимодействия с методами ввода. Вследствие этого некоторые события нажатия клавиш не достигают текстового компонента, потому что они обрабатываются методом ввода, и некоторый ввод текста достигает текстового компонента в качестве завершенного текста вInputMethodEventвместо того, чтобы быть событием нажатия клавиши. Полный ввод текста — это сочетание символов в событиях нажатия клавишkeyTypedи завершенного текста в событиях метода ввода.Модель слушателей AWT позволяет приложениям добавлять слушателей событий к компонентам для привязки событий к действиям. Swing рекомендует использовать раскладки клавиатуры вместо слушателей, но сохраняет совместимость с слушателями, предоставляя слушателям возможность перехватить событие, обработав его.
События нажатия клавиш и события метода ввода обрабатываются на следующих этапах, при этом каждый этап может обработать событие:
Этапы обработки событий нажатия клавиш и событий метода ввода Этап KeyEvent InputMethodEvent 1. методы ввода (генерируются здесь) 2. менеджер фокуса 3. зарегистрированные слушатели нажатия клавиш зарегистрированные слушатели метода ввода 4. обработка метода ввода в JTextComponent 5. обработка раскладки клавиатуры с использованием текущей раскладки клавиатуры 6. обработка нажатий клавиш в JComponent (например, акцелераторы, навигация по компонентам и т. д.) Для поддержания совместимости с приложениями, которые слушают события нажатия клавиш, но не знают о событиях метода ввода, обработка метода ввода на этапе 4 предоставляет режим совместимости для компонентов, которые не обрабатывают события метода ввода. Для этих компонентов завершенный текст преобразуется в события нажатия клавиш keyTyped и обрабатывается в потоке событий нажатия клавиш, начиная с этапа 3, а не в потоке событий метода ввода.
По умолчанию компонент создаст раскладку клавиатуры (называемую DEFAULT_KEYMAP), которая используется всеми экземплярами JTextComponent в качестве стандартной раскладки клавиатуры. Обычно реализация визуального оформления установит другую раскладку клавиатуры, которая переходит к стандартной раскладке клавиатуры для тех привязок, которые не найдены в другой раскладке клавиатуры. Минимальные привязки включают:
- вставка содержимого в редактор для печатных клавиш.
- удаление содержимого с помощью клавиш Backspace и Del.
- перемещение курсора вперед и назад
- Разделение модели/представления
- Текстовые компоненты имеют разделение модели и представления. Текстовый компонент объединяет объекты, используемые для представления модели, представления и контроллера. Модель текстового документа может быть совмещена с другими представлениями, которые действуют как наблюдатели модели (например, документ может быть совмещен между несколькими компонентами).
Модель определяется интерфейсом
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.
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
class |
JTextComponent.AccessibleJTextComponent |
Этот класс реализует поддержку доступности для класса JTextComponent. |
static final class |
JTextComponent.DropLocation |
Представляет место падения для JTextComponent. |
static class |
JTextComponent.KeyBinding |
Запись привязки для создания привязок клавиш. |
Вложенные классы/интерфейсы, объявленные в классе javax.swing.JComponent
JComponent.AccessibleJComponent
Вложенные классы/интерфейсы, объявленные в классе java.awt.Container
Container.AccessibleAWTContainer
Вложенные классы/интерфейсы, объявленные в классе java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
DEFAULT_KEYMAP |
Стандартная карта клавиш, которая будет использоваться всеми экземплярами JTextComponent, если не была задана другая карта клавиш. |
static final String |
FOCUS_ACCELERATOR_KEY |
Имя связанного свойства для акцелератора фокуса. |
Поля, объявленные в классе javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Поля, объявленные в классе java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Поля, объявленные в интерфейсе java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JTextComponent() |
Создаёт новый JTextComponent. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addCaretListener |
Добавляет слушатель событий изменения курсора для уведомления об изменениях в курсоре. |
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() |
Возвращает расположение, которое этот компонент должен визуально указывать как расположение выгрузки во время операции перетаскивания над компонентом, или 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 |
Сохраняет содержимое модели в указанный поток. |
Методы, объявленные в классе javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Методы, объявленные в классе java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Методы, объявленные в классе java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
Подробное описание полей
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()
- Возвращает:
- все слушатели событий курсора этого компонента или пустой массив, если слушатели событий курсора не зарегистрированы
- С:
- 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 эффективно отключает ввод с клавиатуры. При установке нового keymap генерируется событие PropertyChange ("keymap").- Parameters:
-
map- keymap - See Also:
setDragEnabled
@BeanProperty(bound=false, description="determines whether automatic drag handling is enabled") public void setDragEnabled(boolean b)
true, и свойство компонента TransferHandler должно быть установлено в значение non-null. Значение свойства dragEnabled по умолчанию равно false. Ответственность за выполнение этого свойства и распознавание жеста перетаскивания пользователя лежит на реализации визуального оформления, а конкретно на свойстве компонента TextUI. При включенной автоматической обработке перетаскивания большинство визуальных оформлений (включая те, что наследуются от BasicLookAndFeel) запускают операцию перетаскивания и перекладывания, когда пользователь нажимает кнопку мыши над выделением и затем перемещает мышь на несколько пикселей. Установка этого свойства в значение true может поэтому иметь тонкое влияние на поведение выделений.
Если используется визуальное оформление, которое игнорирует это свойство, вы все равно можете начать операцию перетаскивания и перекладывания, вызвав exportAsDrag на свойстве компонента TransferHandler.
- Parameters:
-
b- включить или отключить автоматическую обработку перетаскивания - Throws:
-
HeadlessException- еслиbявляетсяtrueиGraphicsEnvironment.isHeadless()возвращаетtrue - Since:
- 1.4
- See Also:
getDragEnabled
public boolean getDragEnabled()
- Returns:
- значение свойства
dragEnabled - Since:
- 1.4
- See Also:
setDropMode
public final void setDropMode(DropMode dropMode)
DropMode.USE_SELECTION. Однако рекомендуется использовать DropMode.INSERT для улучшенного пользовательского опыта. Он обеспечивает аналогичное поведение при опускании между текстовыми позициями, но не влияет на фактический выбор текста и позицию курсора. Компоненты, поддерживающие JTextComponents, поддерживают следующие режимы опускания:
DropMode.USE_SELECTIONDropMode.INSERT
Режим опускания имеет смысл только в том случае, если этот компонент имеет TransferHandler, который принимает опускания.
- Parameters:
-
dropMode- режим опускания для использования - Throws:
-
IllegalArgumentException- если режим опускания не поддерживается илиnull - Since:
- 1.6
- See Also:
getDropMode
public final DropMode getDropMode()
- Returns:
- режим опускания для этого компонента
- Since:
- 1.6
- See Also:
getDropLocation
@BeanProperty(bound=false) public final JTextComponent.DropLocation getDropLocation()
null, если не требуется отображать расположение. Этот метод не предназначен для запроса расположения опускания из TransferHandler, так как расположение опускания устанавливается только после того, как TransferHandler's canImport вернул результат и позволил отобразить расположение.
При изменении этого свойства компонент генерирует событие изменения свойства с именем "dropLocation".
- Returns:
- расположение опускания
- Since:
- 1.6
- See Also:
getKeymap
public Keymap getKeymap()
- Returns:
- keymap
addKeymap
public static Keymap addKeymap(String nm, Keymap parent)
- Parameters:
-
nm- имя keymap (должно быть уникальным в коллекции именованных keymap в документе); имя может бытьnull, если keymap безымянный, но вызывающая сторона отвечает за управление ссылкой, так как безымянный keymap нельзя получить по имени -
parent- родительский keymap; это может бытьnull, если неявные привязки не нужно разрешать в другом keymap - Returns:
- keymap
removeKeymap
public static Keymap removeKeymap(String nm)
null именами нельзя удалить таким образом.- Parameters:
-
nm- имя keymap для удаления - Returns:
- удалённый keymap
getKeymap
public static Keymap getKeymap(String nm)
null-именованными keymaps.- Parameters:
-
nm- имя keymap - Returns:
- keymap
loadKeymap
public static void loadKeymap(Keymap map, JTextComponent.KeyBinding[] bindings, Action[] actions)
Загружает keymap со множеством привязок. Это можно использовать для загрузки статической таблицы определений в keymap. Следующий пример иллюстрирует пример привязки некоторых клавиш к действиям вырезания, копирования и вставки, связанным с JTextComponent. Фрагмент кода для достижения этого может выглядеть следующим образом:
static final JTextComponent.KeyBinding[] defaultBindings = {
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
DefaultEditorKit.copyAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
DefaultEditorKit.pasteAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
DefaultEditorKit.cutAction),
};
JTextComponent c = new JTextPane();
Keymap k = c.getKeymap();
JTextComponent.loadKeymap(k, defaultBindings, c.getActions());
Наборы привязок и действий могут быть пустыми, но должны быть не-null.- Parameters:
-
map- keymap -
bindings- привязки -
actions- набор действий
getCaretColor
public Color getCaretColor()
- Returns:
- цвет
setCaretColor
@BeanProperty(preferred=true, description="the color used to render the caret") public void setCaretColor(Color c)
null эффективно восстанавливает цвет по умолчанию. Установка цвета приводит к срабатыванию события PropertyChange ("caretColor").- Parameters:
-
c- цвет - See Also:
getSelectionColor
public Color getSelectionColor()
- Returns:
- цвет
setSelectionColor
@BeanProperty(preferred=true, description="color used to render selection background") public void setSelectionColor(Color c)
null эквивалентна установке в Color.white. Установка цвета приводит к срабатыванию события PropertyChange ("selectionColor").- Parameters:
-
c- цвет - See Also:
getSelectedTextColor
public Color getSelectedTextColor()
- Returns:
- цвет
Установить цвет выделенного текста
@BeanProperty(preferred=true, description="color used to render selected text") public void setSelectedTextColor(Color c)
null эквивалентна Color.black. Установка цвета вызывает событие PropertyChange ("selectedTextColor").- Параметры:
-
c- цвет - См. также:
Получить цвет неактивного текста
public Color getDisabledTextColor()
- Возвращает:
- цвет
Установить цвет неактивного текста
@BeanProperty(preferred=true, description="color used to render disabled text") public void setDisabledTextColor(Color c)
- Параметры:
-
c- цвет - См. также:
Заменить выделение
public void replaceSelection(String content)
Этот метод используется в реализации по умолчанию действия для вставки содержимого, привязанного к действиям клавиш.
- Параметры:
-
content- содержимое для замены выделения
Получить текст
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
- См. также:
Вырезать
public void cut()
null выделений.- См. также:
Копировать
public void copy()
null выделений.- См. также:
Вставить
public void paste()
- См. также:
Переместить курсор
public void moveCaretPosition(int pos)
setCaretPosition. Это формирует выделение. Если документ null, ничего не делает. Позиция должна быть между 0 и длиной текста компонента, иначе будет выброшено исключение.- Параметры:
-
pos- позиция - Исключения:
-
IllegalArgumentException- если значение, предоставленное дляposition, меньше нуля или больше длины текста компонента - См. также:
Установить ускоритель фокуса
@BeanProperty(description="accelerator character used to grab focus") public void setFocusAccelerator(char aKey)
- Параметры:
-
aKey- клавиша - См. также:
getFocusAccelerator
public char getFocusAccelerator()
- Returns:
- клавишу
read
public void read(Reader in, Object desc) throws IOException
- Parameters:
-
in- поток для чтения -
desc- объект, описывающий поток; это может быть строка, файл, URL и т.д. Некоторые типы документов (например, html) могут использовать эту информацию; если неnull, добавляется как свойство документа - Throws:
-
IOException- как выбрасывается потоком, используемым для инициализации - See Also:
write
public void write(Writer out) throws IOException
- Parameters:
-
out- выходной поток - Throws:
-
IOException- при любой ошибке ввода-вывода
setCaretPosition
@BeanProperty(bound=false, description="the caret position") public void setCaretPosition(int position)
TextComponent. Обратите внимание, что курсор отслеживает изменения, поэтому он может сдвинуться, если изменён базовый текст компонента. Если документ null, ничего не делает. Позиция должна быть между 0 и длиной текста компонента, иначе выбрасывается исключение.- Parameters:
-
position- позиция - Throws:
-
IllegalArgumentException- если значение, предоставленное дляposition, меньше нуля или больше длины текста компонента
getCaretPosition
public int getCaretPosition()
- Returns:
- положение курсора вставки текста для текстового компонента ≥ 0
setText
@BeanProperty(bound=false, description="the text of this component") public void setText(String t)
TextComponent на указанный текст. Если текст null или пуст, это эквивалентно простому удалению старого текста. После вставки текста расположение курсора определяется реализацией класса курсора. Обратите внимание, что текст не является свойством привязки, поэтому при изменении не генерируется событие PropertyChangeEvent
. Для прослушивания изменений текста используйте DocumentListener.
- Parameters:
-
t- новый устанавливаемый текст - See Also:
getText
public String getText()
TextComponent. Если базовый документ null, возвращается NullPointerException. Обратите внимание, что текст не является свойством привязки, поэтому при изменении не генерируется событие PropertyChangeEvent
. Для прослушивания изменений текста используйте DocumentListener.- Returns:
- текст
- Throws:
-
NullPointerException- если документnull - See Also:
getSelectedText
@BeanProperty(bound=false) public String getSelectedText()
TextComponent. Если выделение null или документ пуст, возвращает null.- Returns:
- текст
- Throws:
-
IllegalArgumentException- если выделение не имеет допустимой привязки к документу по какой-либо причине - See Also:
isEditable
public boolean isEditable()
TextComponent редактируемым или нет.- Returns:
- булево значение
- See Also:
setEditable
@BeanProperty(description="specifies if the text can be edited") public void setEditable(boolean b)
TextComponent быть редактируемым. При изменении состояния генерируется событие PropertyChange ("editable").- Parameters:
-
b- устанавливаемое булево значение - See Also:
getSelectionStart
public int getSelectionStart()
- Returns:
- начальная позиция ≥ 0
setSelectionStart
@BeanProperty(bound=false, description="starting location of the selection.") public void setSelectionStart(int selectionStart)
Это доступно для обратной совместимости с кодом, который вызывал этот метод на java.awt.TextComponent. Это реализовано для перенаправления на реализацию Caret, где фактически поддерживается выделение.
- Parameters:
-
selectionStart- начальная позиция текста ≥ 0
getSelectionEnd
public int getSelectionEnd()
- Returns:
- конечная позиция ≥ 0
setSelectionEnd
@BeanProperty(bound=false, description="ending location of the selection.") public void setSelectionEnd(int selectionEnd)
Это доступно для обратной совместимости с кодом, который вызывал этот метод на java.awt.TextComponent. Это реализовано для перенаправления на реализацию Caret, где фактически поддерживается выделение.
- Parameters:
-
selectionEnd- конечная позиция текста ≥ 0
select
public void select(int selectionStart, int selectionEnd)
Этот метод устанавливает начальную и конечную позиции выделенного текста, выполняя ограничение, что начальная позиция должна быть больше или равна нулю. Конечная позиция должна быть больше или равна начальной позиции и меньше или равна длине текста текстового компонента.
Если вызывающий передает значения, которые несовместимы или находятся вне границ, метод без сбоя молча применяет эти ограничения. В частности, если начальная или конечная позиция больше длины текста, она устанавливается равной длине текста. Если начальная позиция меньше нуля, она устанавливается равной нулю, а если конечная позиция меньше начальной, она устанавливается равной начальной позиции.
Этот вызов обеспечен для обратной совместимости. Он перенаправляется на вызов setCaretPosition, за которым следует вызов moveCaretPosition. Предпочтительный способ управления выделением — вызывать эти методы напрямую.
- Parameters:
-
selectionStart- начальная позиция текста -
selectionEnd- конечная позиция текста - See Also:
selectAll
public void selectAll()
TextComponent. Ничего не делает для null или пустого документа.getToolTipText
public String getToolTipText(MouseEvent event)
event. Это будет одно из: - Если
setToolTipTextбыл вызван со значением, отличным отnull, оно будет возвращено, иначе - Будет возвращено значение, полученное при вызове
getToolTipTextна UI.
JTextComponent не регистрирует себя в ToolTipManager. Это означает, что подсказки не будут отображаться на TextUI, пока registerComponent не будет вызвано для ToolTipManager.- Overrides:
-
getToolTipTextв классеJComponent - Параметры:
-
event- событие, о котором идет речь - Возвращает:
- строку, используемую в качестве подсказки для
event - См. также:
getPreferredScrollableViewportSize
@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
- Определено в:
-
getPreferredScrollableViewportSizeв интерфейсеScrollable - Возвращает:
- предпочтительный размер
preferredSizeJViewport, чей вид — это данный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(java.text.MessageFormat, java.text.MessageFormat) для рендеринга содержимого документа.
Этот метод потокобезопасен, хотя большинство методов Swing не являются таковыми. Более подробную информацию см. в Конкурентность в Swing.
Пример использования. Этот фрагмент кода показывает кроссплатформенный диалог печати и затем печатает JTextComponent в интерактивном режиме, если пользователь не отменил диалог:
textComponent.print(new MessageFormat("My text component header"),
new MessageFormat("Footer. Page - {0}"), true, null, null, true);
Выполнение этого кода вне потока обработки событий выполняет печать в фоновом режиме. Следующая схема может быть использована для печати в фоновом режиме:
FutureTask<Boolean> future =
new FutureTask<Boolean>(
new Callable<Boolean>() {
public Boolean call() {
return textComponent.print(.....);
}
});
executor.execute(future);
- Parameters:
-
headerFormat- текст, используемый в качестве заголовка, илиnullдля отсутствия заголовка -
footerFormat- текст, используемый в качестве подвала, илиnullдля отсутствия подвала -
showPrintDialog-trueдля отображения диалога печати,falseв противном случае -
service- начальныеPrintService, илиnullдля значения по умолчанию -
attributes- атрибуты задания для применения к заданию печати, илиnullдля отсутствия -
interactive- выполнить печать в интерактивном режиме - Returns:
-
true, если печать не была отменена пользователем - Throws:
-
PrinterException- если ошибка в системе печати приводит к прерыванию задания - Since:
- 1.6
- See Also:
getPrintable
public Printable getPrintable(MessageFormat headerFormat, MessageFormat footerFormat)
Printable для печати содержимого этого JTextComponent. Возвращённое Printable печатает документ так, как он выглядит на экране, но переформатированный для соответствия бумаге. Возвращённое Printable может быть обернуто в другой Printable для создания сложных отчётов и документов. Возвращённое Printable разделяет document с этим JTextComponent. Разработчик обязан гарантировать, что document не изменяется во время использования этого Printable. Поведение печати не определено, когда document изменяется во время печати.
Текст заголовка и подвала страницы можно добавить к выводу, указав MessageFormat аргументы. Код печати запрашивает Strings из форматов, предоставляя один элемент, который может быть включён в форматированную строку: Integer представляющий текущий номер страницы.
Возвращаемое Printable при печати форматирует содержимое документа соответствующим образом для размера страницы. Для правильного переноса строк imageable width всех страниц должны быть одинаковыми. См. PageFormat.getImageableWidth().
Этот метод потокобезопасен, хотя большинство методов Swing не являются таковыми. Более подробную информацию см. в Конкурентность в Swing.
Возвращённое Printable можно напечатать в любом потоке.
Эта реализация возвращающего Printable выполняет всю отрисовку в потоке обработки событий независимо от того, в каком потоке она используется.
- Parameters:
-
headerFormat- текст, используемый в качестве заголовка, илиnullдля отсутствия заголовка -
footerFormat- текст, используемый в качестве подвала, илиnullдля отсутствия подвала - Returns:
- a
Printableдля использования в печати содержимого этогоJTextComponent - Since:
- 1.6
- See Also:
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
JTextComponent контекст доступности. Для текстовых компонентов контекст доступности принимает вид AccessibleJTextComponent. Если необходимо, создаётся новый объект AccessibleJTextComponent.- Specified by:
-
getAccessibleContextв интерфейсеAccessible - Overrides:
-
getAccessibleContextв классеComponent - Returns:
AccessibleJTextComponent, являющийся объектомAccessibleContextэтогоJTextComponent
paramString
protected String paramString()
JTextComponent. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться между реализациями. Возвращаемая строка может быть пустой, но не null. Переопределение paramString для предоставления информации о специфических новых аспектах компонентов JFC.
- Overrides:
-
paramStringв классеJComponent - Returns:
- строковое представление этого
JTextComponent
getInputMethodRequests
@BeanProperty(bound=false) public InputMethodRequests getInputMethodRequests()
ComponentInputMethodRequests. В то же время он также должен обрабатывать события методов ввода.- Overrides:
-
getInputMethodRequestsв классеComponent - Returns:
- обработчик запросов метода ввода для этого компонента,
nullпо умолчанию - See Also:
saveComposedText
protected boolean saveComposedText(int pos)
- Parameters:
-
pos- позиция документа для определения местоположения составленного текста - Returns:
-
true, если составленный текст существует и сохранён,falseв противном случае - Since:
- 1.7
- See Also:
restoreComposedText
protected void restoreComposedText()
saveComposedText. Сохранённый составленный текст вставляется обратно в документ. Этот метод следует вызывать только в том случае, если метод saveComposedText возвращает true.- Since:
- 1.7
- See Also:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/text/JTextComponent.html
modelToView2D(int)