Класс JTextComponent
- Все реализованные интерфейсы:
-
ImageObserver,MenuContainer,Serializable,Accessible,Scrollable
- Прямые известные подклассы:
-
JEditorPane,JTextArea,JTextField
@JavaBean(defaultProperty="UI") public abstract class JTextComponent extends JComponent implements Scrollable, Accessible
JTextComponent является базовым классом для текстовых компонентов Swing. Он пытается быть совместимым с классом java.awt.TextComponent там, где это возможно. Также предоставляются другие сервисы для дополнительной гибкости (помимо подключаемого пользовательского интерфейса и поддержки бинов). Информацию о том, как использовать функциональность этого класса, можно найти в Общие правила использования текстовых компонентов — разделе учебника The Java Tutorial. - Изменения маркер
- Маркер — это подключаемый объект в текстовых компонентах Swing. Уведомления об изменениях положения маркера и выделения отправляются реализациям интерфейса
CaretListener, которые были зарегистрированы в текстовом компоненте. Пользовательский интерфейс установит маркер по умолчанию, если не был установлен настроенный маркер.
По умолчанию маркер отслеживает все изменения документа, выполняемые в потоке обработки событий, и обновляет свое положение соответственно, если вставка происходит перед или в позиции маркера, или удаление происходит перед позицией маркера.DefaultCaretпытается сделать себя видимым, что может привести к прокрутке текстового компонента вJScrollPane. Поведение маркера по умолчанию можно изменить с помощью методаDefaultCaret.setUpdatePolicy(int).
Примечание: В нередактируемых текстовых компонентах также есть маркер, хотя он может и не отображаться. - Команды
- Текстовые компоненты предоставляют ряд команд, которые могут использоваться для управления компонентом. По сути, это способ, которым компонент выражает свои возможности. Они выражаются в терминах интерфейса Swing
Action, используя реализациюTextAction. Список команд, поддерживаемых текстовым компонентом, можно найти с помощью методаgetActions(). Эти действия могут быть связаны с событиями нажатия клавиш, активированы кнопками и т.д. - Ввод текста
- Текстовые компоненты поддерживают гибкий и интернационализированный ввод текста, используя раскладки клавиатуры и фреймворк обработки ввода, сохраняя при этом совместимость с моделью прослушивателей AWT.
Keymapпозволяет приложению связывать нажатия клавиш с действиями. Для того, чтобы разрешить совместное использование раскладок клавиатуры между несколькими текстовыми компонентами, они могут использовать действия, расширяющиеTextAction.TextActionможет определить, какойJTextComponentв последний раз имел или имел фокус, и, следовательно, является объектом действия (в случае, еслиActionEventотправленный в действие не содержит целевой текстовый компонент в качестве источника).Фреймворк обработки ввода позволяет текстовым компонентам взаимодействовать с обработчиками ввода, отдельными программными компонентами, которые предварительно обрабатывают события, чтобы пользователи могли вводить тысячи различных символов с помощью клавиатур с гораздо меньшим количеством клавиш.
JTextComponentявляется активным клиентом фреймворка, поэтому он реализует предпочтительный пользовательский интерфейс для взаимодействия с обработчиками ввода. Вследствие этого некоторые события нажатия клавиш не достигают текстового компонента, потому что они обрабатываются обработчиком ввода, и некоторые вводы текста достигают текстового компонента как подтвержденный текст внутриInputMethodEventвместо того, чтобы быть событием нажатия клавиши. Полный ввод текста — это комбинация символов в событиях нажатия клавишkeyTypedи подтвержденного текста в событиях обработки ввода.Модель прослушивателей AWT позволяет приложениям присоединять прослушивателей событий к компонентам для связывания событий с действиями. Swing рекомендует использовать раскладки клавиатуры вместо прослушивателей, но сохраняет совместимость с прослушивателями, давая им возможность перехватить событие, потребляя его.
Обработка событий нажатия клавиш и событий обработки ввода выполняется на следующих этапах, причем каждый этап может потреблять событие:
Этапы обработки событий нажатия клавиш и обработки ввода Этап KeyEvent InputMethodEvent 1. обработчики ввода (генерируется здесь) 2. менеджер фокуса 3. зарегистрированные прослушиватели нажатий клавиш зарегистрированные прослушиватели событий обработки ввода 4. обработка событий обработки ввода в JTextComponent 5. обработка раскладки клавиатуры с использованием текущей раскладки клавиатуры 6. обработка нажатия клавиш в JComponent (например, активаторы, навигация по компонентам и т.д.) Для сохранения совместимости с приложениями, которые прослушивают события нажатия клавиш, но не знают о событиях обработки ввода, обработка событий обработки ввода на этапе 4 предоставляет режим совместимости для компонентов, которые не обрабатывают события обработки ввода. Для этих компонентов подтвержденный текст преобразуется в события нажатия клавиш keyTyped и обрабатывается в потоке событий нажатия клавиш, начиная с этапа 3, а не в потоке событий обработки ввода.
По умолчанию компонент создаст раскладку клавиатуры (с именем DEFAULT_KEYMAP), которая используется всеми экземплярами JTextComponent в качестве стандартной раскладки. Обычно реализация внешнего вида установит другую раскладку клавиатуры, которая обращается к стандартной раскладке для тех привязок, которые не найдены в другой раскладке. Минимальные привязки включают:
- вставка содержимого в редактор для печатных клавиш.
- удаление содержимого клавишами Backspace и Delete.
- перемещение маркера вперед и назад
- Разделение модели и представления
- Текстовые компоненты имеют разделение модели и представления. Текстовый компонент объединяет объекты, используемые для представления модели, представления и контроллера. Модель текстового документа может быть совместно используется другими представлениями, которые выступают в качестве наблюдателей модели (например, документ может быть разделен между несколькими компонентами).
Модель определяется интерфейсом
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. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
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. Устанавливаются слушатели событий курсора и устанавливается подключаемый UI. Компонент отмечается как редактируемый. Менеджер компоновки не используется, так как компоновка управляется подсистемой представления текста. Модель документа устанавливается в null.Подробное описание методов
getUI
public TextUI getUI()
- Переопределяет:
-
getUIв классеJComponent - Возвращает:
- фабрику
setUI
public void setUI(TextUI ui)
- Параметры:
-
ui- фабрика
updateUI
public void updateUI()
getUIClassID(). Тип UI — TextUI. invalidate вызывается после установки UI.- Переопределяет:
-
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 фактически отключает ввод с клавиатуры. При установке новой раскладки клавиатуры генерируется событие 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 компонента.
- 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:
- карта сочетаний клавиш
addKeymap
public static Keymap addKeymap(String nm, Keymap parent)
- Parameters:
-
nm- имя карты сочетаний клавиш (должно быть уникальным в рамках коллекции именованных карт сочетаний клавиш в документе); имя может бытьnull, если карта сочетаний клавиш не имеет имени, но вызывающая сторона отвечает за управление ссылкой, так как неименованные карты сочетаний клавиш не могут быть получены по имени -
parent- родительская карта сочетаний клавиш; это может бытьnull, если связывания, которые не указаны, не нужно разрешать в другой карте сочетаний клавиш - Returns:
- карта сочетаний клавиш
removeKeymap
public static Keymap removeKeymap(String nm)
null именами не могут быть удалены таким способом.- Parameters:
-
nm- имя карты сочетаний клавиш для удаления - Returns:
- карта сочетаний клавиш, которая была удалена
getKeymap
public static Keymap getKeymap(String nm)
null именованными картами сочетаний клавиш.- Parameters:
-
nm- имя карты сочетаний клавиш - Returns:
- карта сочетаний клавиш
loadKeymap
public static void loadKeymap(Keymap map, JTextComponent.KeyBinding[] bindings, Action[] actions)
Загружает карту сочетаний клавиш с набором связываний. Это можно использовать для загрузки статической таблицы определений в определённую карту сочетаний клавиш. Следующий пример демонстрирует пример связывания некоторых клавиш с действиями вырезания, копирования и вставки, связанными с JTextComponent. Фрагмент кода для достижения этой цели может выглядеть следующим образом:
static final JTextComponent.KeyBinding[] defaultBindings = {
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
DefaultEditorKit.copyAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
DefaultEditorKit.pasteAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
DefaultEditorKit.cutAction),
};
JTextComponent c = new JTextPane();
Keymap k = c.getKeymap();
JTextComponent.loadKeymap(k, defaultBindings, c.getActions());
Наборы связываний и действий могут быть пустыми, но должны быть не-null. - Parameters:
-
map- карта сочетаний клавиш -
bindings- связывания -
actions- набор действий
getCaretColor
public Color getCaretColor()
- Returns:
- цвет
setCaretColor
@BeanProperty(preferred=true, description="the color used to render the caret") public void setCaretColor(Color c)
null фактически восстанавливает цвет по умолчанию. Установка цвета приводит к срабатыванию события PropertyChange ("caretColor").- Parameters:
-
c- цвет - See Also:
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:
- цвет
setSelectedTextColor
@BeanProperty(preferred=true, description="color used to render selected text") public void setSelectedTextColor(Color c)
null эквивалентна Color.black. Установка цвета приводит к срабатыванию события PropertyChange ("selectedTextColor").- Parameters:
-
c- цвет - See Also:
getDisabledTextColor
public Color getDisabledTextColor()
- Returns:
- цвет
setDisabledTextColor
@BeanProperty(preferred=true, description="color used to render disabled text") public void setDisabledTextColor(Color c)
- Parameters:
-
c- цвет - See Also:
replaceSelection
public void replaceSelection(String content)
Этот метод используется в реализации по умолчанию действия для вставки содержимого, привязанного к действиям карты клавиш.
- Parameters:
-
content- содержимое для замены выделения
getText
public String getText(int offs, int len) throws BadLocationException
- Parameters:
-
offs- смещение ≥ 0 -
len- длина ≥ 0 - Returns:
- текст
- Throws:
-
BadLocationException- если смещение или длина недопустимы
modelToView
@Deprecated(since="9") public Rectangle modelToView(int pos) throws BadLocationException
modelToView2D(int)
- Parameters:
-
pos- позиция ≥ 0 - Returns:
- координаты как прямоугольник, где (r.x, r.y) — положение в системе координат, или null, если компоненту еще не задан положительный размер.
- Throws:
-
BadLocationException- если заданная позиция не представляет действительное расположение в связанном документе - См. также:
modelToView2D
public Rectangle2D modelToView2D(int pos) throws BadLocationException
- Parameters:
-
pos- позиция>= 0 - Returns:
- координаты как прямоугольник, где (r.x, r.y) — положение в системе координат, или null, если компоненту еще не задан положительный размер.
- Throws:
-
BadLocationException- если заданная позиция не представляет действительное расположение в связанном документе - Since:
- 9
- См. также:
viewToModel
@Deprecated(since="9") public int viewToModel(Point pt)
viewToModel2D(Point2D)
- Parameters:
-
pt- расположение в представлении для преобразования - Returns:
- смещение ≥ 0 от начала документа, или -1, если компоненту еще не задан положительный размер.
- См. также:
viewToModel2D
public int viewToModel2D(Point2D pt)
- Parameters:
-
pt- расположение в представлении для преобразования - Returns:
- смещение
>= 0от начала документа, или-1если компоненту еще не задан положительный размер. - Since:
- 9
- См. также:
cut
public void cut()
null выделений.- См. также:
copy
public void copy()
null выделений.- См. также:
paste
public void paste()
moveCaretPosition
public void moveCaretPosition(int pos)
setCaretPosition. Это формирует выделение. Если документ null, ничего не делает. Позиция должна быть между 0 и длиной текста компонента, иначе будет брошено исключение.- Parameters:
-
pos- позиция - Throws:
-
IllegalArgumentException- если значение, предоставленное дляposition, меньше нуля или больше длины текста компонента - См. также:
setFocusAccelerator
@BeanProperty(description="accelerator character used to grab focus") public void setFocusAccelerator(char aKey)
- Parameters:
-
aKey- клавиша - См. также:
getFocusAccelerator
public char getFocusAccelerator()
- Returns:
- клавиша
read
public void read(Reader in, Object desc) throws IOException
- Parameters:
-
in- поток для чтения -
desc- объект, описывающий поток; это может быть строка, файл, URL и т. д. Некоторые типы документов (например, html) могут использовать эту информацию; если не null, он добавляется как свойство документа - Throws:
-
IOException- вызывается при ошибке в потоке инициализации - См. также:
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. Не делает ничего при пустом или пустом документе.getToolTipText
public String getToolTipText(MouseEvent event)
event. Это вернёт одно из: - Если
setToolTipTextбыл вызван с ненулевым значением, оно будет возвращено, иначе - Будет возвращено значение, полученное при вызове
getToolTipTextна интерфейсе.
JTextComponent не регистрируется в ToolTipManager. Это означает, что всплывающие подсказки не будут показаны для TextUI, пока не будет вызвано registerComponent на ToolTipManager.- Overrides:
-
getToolTipTextin classJComponent - Parameters:
-
event- рассматриваемое событие - Returns:
- строка, используемая в качестве подсказки для
event - See Also:
getPreferredScrollableViewportSize
@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
- Specified by:
-
getPreferredScrollableViewportSizein interfaceScrollable - Returns:
preferredSizeJViewport, представление которого является этимScrollable- See Also:
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect, int orientation, int direction)
По умолчанию эта реализация просто возвращает 10% видимой области. Подклассы, скорее всего, смогут предоставить более разумное значение.
- Specified by:
-
getScrollableUnitIncrementin interfaceScrollable - Parameters:
-
visibleRect- область представления, видимая в области прокрутки -
orientation- либоSwingConstants.VERTICALилиSwingConstants.HORIZONTAL -
direction- меньше нуля для прокрутки вверх/влево, больше нуля для вниз/вправо - Returns:
- приращение "единицы" прокрутки в заданном направлении
- Throws:
-
IllegalArgumentException- для недопустимой ориентации - See Also:
getScrollableBlockIncrement
public int getScrollableBlockIncrement(Rectangle visibleRect, int orientation, int direction)
По умолчанию эта реализация просто возвращает видимую область. Подклассы, вероятно, смогут предоставить гораздо более разумное значение.
- Specified by:
-
getScrollableBlockIncrementin interfaceScrollable - Parameters:
-
visibleRect- область просмотра, видимая в области просмотра -
orientation- либоSwingConstants.VERTICAL, либоSwingConstants.HORIZONTAL -
direction- меньше нуля для прокрутки вверх/влево, больше нуля для прокрутки вниз/вправо - Returns:
- приращение "блока" для прокрутки в указанном направлении
- Throws:
-
IllegalArgumentException- для неверной ориентации - See Also:
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
Scrollable в соответствии с шириной области просмотра. Например, обычный текстовый виджет, поддерживающий перенос слов, вернет здесь true, так как нежелательно, чтобы переносимые строки исчезали за правым краем области просмотра. Обратите внимание, что возвращение true для Scrollable, предком которого является JScrollPane, фактически отключает горизонтальную прокрутку. Контейнеры прокрутки, такие как JViewport, будут использовать этот метод каждый раз при валидации.
- Specified by:
-
getScrollableTracksViewportWidthin interfaceScrollable - Returns:
- true, если область просмотра должна принудительно устанавливать ширину
Scrollableв соответствии со своей шириной
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Scrollable в соответствии с высотой области просмотра. Например, виджет текстового отображения по столбцам, выстраивающий текст в столбцы слева направо, может эффективно отключить вертикальную прокрутку, вернув здесь true. Контейнеры прокрутки, такие как JViewport, будут использовать этот метод каждый раз при валидации.
- Specified by:
-
getScrollableTracksViewportHeightin interfaceScrollable - Returns:
- true, если область просмотра должна принудительно устанавливать высоту Scrollables в соответствии со своей высотой
public boolean print() throws PrinterException
JTextComponent в интерактивном режиме без заголовка или подвала. Примечание: этот метод блокирует выполнение, пока печать не завершится. Примечание: в бесголовом режиме диалоги не будут отображаться.
Этот метод вызывает полнофункциональный метод print для выполнения печати.
- Returns:
-
true, если пользователь не отменит печать - Throws:
-
PrinterException- если при печати в системе произошла ошибка, которая привела к прерыванию задания -
SecurityException- если данному потоку не разрешено инициировать запрос задания печати - Since:
- 1.6
- See Also:
public boolean print(MessageFormat headerFormat, MessageFormat footerFormat) throws PrinterException
JTextComponent в интерактивном режиме с указанным заголовком и подвалом. Примечание: этот метод блокирует выполнение, пока печать не завершится. Примечание: в бесголовом режиме диалоги не будут отображаться.
Этот метод вызывает полнофункциональный метод print для выполнения печати.
- Parameters:
-
headerFormat- текст, используемый в качестве заголовка вMessageFormat, илиnullдля отсутствия заголовка -
footerFormat- текст, используемый в качестве подвала вMessageFormat, илиnullдля отсутствия подвала - Returns:
-
true, если пользователь не отменил печать - Throws:
-
PrinterException- если при печати в системе произошла ошибка, которая привела к прерыванию задания -
SecurityException- если данному потоку не разрешено инициировать запрос задания печати - Since:
- 1.6
- See Also:
public boolean print(MessageFormat headerFormat, MessageFormat footerFormat, boolean showPrintDialog, PrintService service, PrintRequestAttributeSet attributes, boolean interactive) throws PrinterException
JTextComponent. Примечание: этот метод блокирует выполнение, пока печать не завершится. Текст заголовка и подвала страницы можно добавить в вывод, передав аргументы MessageFormat. Код печати запрашивает Strings из форматов, предоставляя один элемент, который может быть включен в форматированную строку: Integer, представляющий текущий номер страницы.
Параметр showPrintDialog boolean позволяет указать, отображать ли диалог печати пользователю. Если диалог отображается, пользователь может использовать его для изменения атрибутов печати или отмены печати.
Параметр service позволяет указать начальную PrintService для диалога печати или указать PrintService для печати, когда диалог не отображается.
Параметр attributes может использоваться для задания начальных значений для диалога печати или для предоставления необходимых атрибутов, когда диалог не отображается. attributes может использоваться для управления способом печати, например, двусторонней или односторонней.
Параметр interactive boolean позволяет указать, выполнять ли печать в интерактивном режиме. Если true, отображается диалог прогресса с опцией отмены на время печати. Этот диалог является модальным, когда print вызывается на потоке обработки событий, и немодальным в противном случае. Предупреждение: вызов этого метода на потоке обработки событий с
interactive false блокирует все события, включая перерисовку, до завершения печати. Это рекомендуется только при печати из приложения без видимого интерфейса пользователя.
Примечание: в бесголовом режиме параметры showPrintDialog и interactive игнорируются, и диалоги не отображаются.
Этот метод гарантирует, что document не изменяется во время печати. Для визуального обозначения этого setEnabled(false) устанавливается на время печати.
Этот метод использует getPrintable(java.text.MessageFormat, java.text.MessageFormat) для рендеринга содержимого документа.
Этот метод потокобезопасен, хотя большинство методов Swing не являются таковыми. Для получения дополнительной информации см. Конкурентность в Swing.
Пример использования. Этот фрагмент кода показывает кроссплатформенный диалог печати, а затем печатает JTextComponent в интерактивном режиме, если пользователь не отменяет диалог:
textComponent.print(new MessageFormat("My text component header"),
new MessageFormat("Footer. Page - {0}"), true, null, null, true);
Выполнение этого кода вне потока обработки событий выполняет печать в фоновом режиме. Следующая структура может быть использована для фоновой печати:
FutureTask<Boolean> future =
new FutureTask<Boolean>(
new Callable<Boolean>() {
public Boolean call() {
return textComponent.print(.....);
}
});
executor.execute(future);
- Parameters:
-
headerFormat- текст, используемый в качестве заголовка вMessageFormat, илиnullдля отсутствия заголовка -
footerFormat- текст, используемый в качестве подвала вMessageFormat, илиnullдля отсутствия подвала -
showPrintDialog-trueдля отображения диалога печати,falseв противном случае -
service- начальнаяPrintService, илиnullпо умолчанию -
attributes- атрибуты задания для применения к заданию печати, илиnullдля отсутствия -
interactive- требуется ли печать в интерактивном режиме - Returns:
-
true, если пользователь не отменил печать - Throws:
-
PrinterException- если при печати в системе произошла ошибка, которая привела к прерыванию задания -
SecurityException- если данному потоку не разрешено инициировать запрос задания печати - Since:
- 1.6
- See Also:
getPrintable
public Printable getPrintable(MessageFormat headerFormat, MessageFormat footerFormat)
Printable для печати содержимого этого JTextComponent. Возвращаемый объект Printable печатает документ так, как он выглядит на экране, но с переформатированием для подгонки к листу бумаги. Возвращаемый объект Printable может быть обернут внутри другого Printable для создания сложных отчетов и документов. Возвращаемый объект Printable разделяет document с этим JTextComponent. Разработчик обязан гарантировать, что объект document не изменяется во время использования этого Printable. Поведение печати не определено, если объект document изменяется во время печати.
Текст заголовка и подвала страницы может быть добавлен к выводу, предоставив аргументы MessageFormat. Код печати запрашивает Strings из форматов, предоставляя один элемент, который может быть включен в форматированную строку: Integer , представляющий текущий номер страницы.
Возвращаемый объект Printable при печати форматирует содержимое документа соответствующим образом для размера страницы. Для правильного переноса строк imageable width всех страниц должны быть одинаковыми. См. PageFormat.getImageableWidth().
Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительную информацию см. в Конкурентность в Swing.
Возвращаемый объект Printable может быть напечатан в любом потоке.
Эта реализация возвращает Printable выполняет всю отрисовку в потоке обработки событий, независимо от того, в каком потоке он используется.
- Parameters:
-
headerFormat- текст, используемый в качестве заголовка, илиnullдля отсутствия заголовка -
footerFormat- текст, используемый в качестве подвала, илиnullдля отсутствия подвала - Returns:
- объект
Printableдля использования при печати содержимого этогоJTextComponent - Since:
- 1.6
- See Also:
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
AccessibleContext , связанный с этим JTextComponent. Для текстовых компонентов AccessibleContext представлен в виде AccessibleJTextComponent . Новый объект AccessibleJTextComponent создается при необходимости.- Specified by:
-
getAccessibleContextin interfaceAccessible - Overrides:
-
getAccessibleContextin classComponent - Returns:
- объект
AccessibleJTextComponent, который служитAccessibleContextэтогоJTextComponent
paramString
protected String paramString()
JTextComponent. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут отличаться в различных реализациях. Возвращаемая строка может быть пустой, но не null. Переопределение paramString для предоставления информации о конкретных новых аспектах компонентов JFC.
- Overrides:
-
paramStringin classJComponent - Returns:
- строковое представление этого
JTextComponent
getInputMethodRequests
@BeanProperty(bound=false) public InputMethodRequests getInputMethodRequests()
ComponentInputMethodRequests . В то же время, он также должен обрабатывать события методов ввода.- Overrides:
-
getInputMethodRequestsin classComponent - 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, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/javax/swing/text/JTextComponent.html
modelToView2D(int)