Класс JTextComponent
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
- Все реализованные интерфейсы:
-
ImageObserver,MenuContainer,Serializable,Accessible,Scrollable
- Прямые известные подклассы:
-
JEditorPane,JTextArea,JTextField
@JavaBean(defaultProperty="UI") public abstract class JTextComponent extends JComponent implements Scrollable, Accessible
JTextComponent является базовым классом для текстовых компонентов Swing. Он старается быть совместимым с классом java.awt.TextComponent, где это разумно. Также предоставляются другие сервисы для дополнительной гибкости (помимо поддержки подключаемого пользовательского интерфейса и свойств). Сведения о том, как использовать функциональность этого класса, можно найти в Общие правила использования текстовых компонентов, разделе учебного пособия The Java Tutorial.
- Изменения маркёра
- Маркёр — это подключаемый объект в текстовых компонентах Swing. Уведомления о изменениях позиции маркёра и выделения отправляются реализациям интерфейса
CaretListener, которые были зарегистрированы в текстовом компоненте. Пользовательский интерфейс установит маркёр по умолчанию, если не был установлен настроенный.
По умолчанию маркёр отслеживает все изменения документа, выполняемые в потоке обработки событий, и соответственно обновляет своё положение, если вставка происходит до или на позиции маркёра, или удаление происходит до позиции маркёра.DefaultCaretпытается сделать себя видимым, что может привести к прокрутке текстового компонента внутриJScrollPane. Поведение маркёра по умолчанию может быть изменено методомDefaultCaret.setUpdatePolicy(int).
Примечание: Нередактируемые текстовые компоненты также имеют маркёр, хотя он может не отображаться. - Команды
- Текстовые компоненты предоставляют ряд команд, которые могут быть использованы для управления компонентом. Это в основном способ, которым компонент выражает свои возможности. Они выражаются через интерфейс Swing
Action, используя реализациюTextAction. Набор команд, поддерживаемых текстовым компонентом, можно найти с помощью методаgetActions(). Эти действия могут быть привязаны к событиям нажатия клавиш, запускаться из кнопок и т. д. - Ввод текста
- Текстовые компоненты поддерживают гибкий и интернационализированный ввод текста, используя раскладки клавиатуры и фреймворк метода ввода, сохраняя при этом совместимость с моделью слушателей AWT.
Keymapпозволяет приложению привязывать нажатия клавиш к действиям. Для того чтобы разрешить совместное использование раскладок клавиатуры между несколькими текстовыми компонентами, они могут использовать действия, которые расширяютTextAction.TextActionможет определить, какойJTextComponentв последнее время имел или имеет фокус и, следовательно, является объектом действия (в случае, еслиActionEvent, отправленное действию, не содержит целевой текстовый компонент в качестве источника).Фреймворк метода ввода позволяет текстовым компонентам взаимодействовать с методами ввода, отдельными программными компонентами, которые предварительно обрабатывают события, чтобы пользователи могли вводить тысячи различных символов с помощью клавиатур с гораздо меньшим количеством клавиш.
JTextComponentявляется активным клиентом фреймворка, поэтому он реализует предпочтительный пользовательский интерфейс для взаимодействия с методами ввода. Вследствие этого некоторые события нажатия клавиш не достигают текстового компонента, потому что они обрабатываются методом ввода, и некоторые ввод текста достигает текстового компонента как завершённый текст в рамкахInputMethodEvent, а не как событие нажатия клавиши. Полный ввод текста — это комбинация символов в событиях нажатия клавишkeyTypedи завершённого текста в событиях метода ввода.Модель слушателей AWT позволяет приложениям присоединять слушателей событий к компонентам для привязки событий к действиям. Swing поощряет использование раскладок клавиатуры вместо слушателей, но сохраняет совместимость с слушателями, предоставляя слушателям возможность перехватить событие, обработав его.
События нажатия клавиш и события метода ввода обрабатываются на следующих этапах, причём каждый этап может обработать событие:
Этап KeyEvent InputMethodEvent 1. методы ввода (генерируются здесь) 2. менеджер фокуса 3. зарегистрированные слушатели нажатия клавиш зарегистрированные слушатели метода ввода 4. обработка метода ввода в JTextComponent 5. обработка раскладки клавиатуры с использованием текущей раскладки 6. обработка нажатия клавиш в JComponent (например, акцелератoры, навигация по компонентам и т.д.) Для сохранения совместимости с приложениями, которые слушают события нажатия клавиш, но не знают о событиях метода ввода, обработка метода ввода на этапе 4 обеспечивает режим совместимости для компонентов, которые не обрабатывают события метода ввода. Для этих компонентов завершённый текст преобразуется в события keyTyped key и обрабатывается в потоке событий нажатия клавиш, начиная с этапа 3, а не в потоке событий метода ввода.
По умолчанию компонент создаст раскладку клавиатуры (с именем DEFAULT_KEYMAP), которая будет использоваться всеми экземплярами JTextComponent в качестве стандартной раскладки. Обычно реализация внешнего вида установит другую раскладку, которая обращается к стандартной раскладке для тех привязок, которые не найдены в другой раскладке. Минимальные привязки включают:
- вставка содержимого в редактор для печатаемых клавиш.
- удаление содержимого с помощью клавиш Backspace и Del.
- перемещение маркёра вперёд и назад
- Разделение модели/представления
- Текстовые компоненты имеют разделение модели и представления. Текстовый компонент объединяет объекты, используемые для представления модели, представления и контроллера. Модель текстового документа может быть разделена другими представлениями, которые действуют как наблюдатели модели (например, документ может быть разделен несколькими компонентами).
Модель определяется интерфейсом
Document. Она предназначена для обеспечения гибкого механизма хранения текста, который отслеживает изменения во время редактирования и может быть расширен до более сложных моделей. Интерфейсы модели предназначены для захвата возможностей выражения, предоставляемых SGML, системой, используемой для выражения широкого спектра содержимого. Каждое изменение документа вызывает уведомление об изменениях деталей изменения всем наблюдателям в видеDocumentEvent, что позволяет представлениям оставаться в курсе модели. Это событие отправляется наблюдателям, которые реализовали интерфейсDocumentListenerи зарегистрировали интерес к наблюдаемой модели. - Информация о расположении
- Обеспечивается возможность определения расположения текста в представлении. Для определения этой информации доступны два метода:
modelToView(int)иviewToModel(java.awt.Point). - Поддержка отмены/повтор
- Предоставляется поддержка механизма истории редактирования для возможности отмены/повтор операций. Текстовый компонент сам по себе не предоставляет буфер истории по умолчанию, но предоставляет записи
UndoableEdit, которые могут быть использованы в сочетании с буфером истории для предоставления поддержки отмены/повтора. Поддержка обеспечивается моделью документа, что позволяет присоединять реализации UndoableEditListener. - Безопасность потоков
- Компоненты Swing текста предоставляют некоторую поддержку потокобезопасных операций. Ввиду высокой конфигурируемости текстовых компонентов, возможно обойти защиту, предоставленную. Защита в основном исходит от модели, поэтому документация
AbstractDocumentописывает предположения, которые обеспечиваются защитой. Методы, которые безопасно вызывать асинхронно, помечены комментариями. - Новые строки
- Обсуждение того, как обрабатываются новые строки, см. в DefaultEditorKit.
- Поддержка печати
- Предоставляются несколько методов
printдля базовой печати документа. Если требуется более продвинутая печать, используйте методgetPrintable(java.text.MessageFormat, java.text.MessageFormat).
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4, поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. См. XMLEncoder.
- См. также:
-
Document,DocumentEvent,DocumentListener,Caret,CaretEvent,CaretListener,TextUI,View,ViewFactory, Формат сериализации
Вложенные классы
| Модификатор и тип | Класс | Описание |
|---|---|---|
class | JTextComponent.AccessibleJTextComponent | Этот класс реализует поддержку доступности для класса |
static class | JTextComponent.DropLocation | Представляет расположение для выгрузки |
static class | JTextComponent.KeyBinding | Запись привязки для создания привязок клавиш. |
Вложенные классы/интерфейсы, объявленные в классе javax.swing.JComponent
JComponent.AccessibleJComponent Вложенные классы/интерфейсы, объявленные в классе java.awt.Container
Container.AccessibleAWTContainer Вложенные классы/интерфейсы, объявленные в классе java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static String | DEFAULT_KEYMAP | Стандартная карта клавиш, которая будет использоваться всеми экземплярами |
static String | FOCUS_ACCELERATOR_KEY | Имя свзанного свойства для акцелератора фокуса. |
Поля, объявленные в классе javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW Поля, объявленные в классе java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT Поля, объявленные в интерфейсе java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
JTextComponent() | Создаёт новый |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | addCaretListener(CaretListener listener) | Добавляет слушателя для отслеживания изменений в курсоре. |
static Keymap | addKeymap(String nm,
Keymap parent) | Добавляет новую схему управления клавишами в иерархию схем. |
void | copy() | Переносит текущий выделенный фрагмент в буфер обмена системы, сохраняя содержимое в текстовой модели. |
void | cut() | Переносит текущий выделенный фрагмент в буфер обмена системы, удаляя содержимое из модели. |
protected void | fireCaretUpdate(CaretEvent e) | Уведомляет всех слушателей, которые зарегистрировали интерес к уведомлениям об этом типе события. |
AccessibleContext | getAccessibleContext() | Получает |
Action[] | getActions() | Получает список команд для редактора. |
Caret | getCaret() | Получает курсор, позволяющий осуществлять навигацию по тексту в представлении. |
Color | getCaretColor() | Получает текущий цвет, используемый для отображения курсора. |
CaretListener[] | getCaretListeners() | Возвращает массив всех зарегистрированных слушателей курсора для этого текстового компонента. |
int | getCaretPosition() | Возвращает позицию курсора вставки текста для текстового компонента. |
Color | getDisabledTextColor() | Получает текущий цвет, используемый для отображения отключенного текста. |
Document | getDocument() | Получает модель, связанную с редактором. |
boolean | getDragEnabled() | Возвращает, включена ли автоматическая обработка перетаскивания. |
JTextComponent.DropLocation | getDropLocation() | Возвращает местоположение, которое этот компонент должен визуально указывать в качестве места падения во время операции перетаскивания над компонентом, или |
DropMode | getDropMode() | Возвращает режим падения для этого компонента. |
char | getFocusAccelerator() | Возвращает сочетание клавиш, которое приведет к тому, что получающий текстовый компонент получит фокус. |
Highlighter | getHighlighter() | Получает объект, отвечающий за выделение текста. |
Keymap | getKeymap() | Получает схему управления клавишами, которая в настоящее время активна в этом текстовом компоненте. |
static Keymap | getKeymap(String nm) | Получает схему управления клавишами с заданным именем, ранее добавленную в документ. |
Insets | getMargin() | Возвращает отступ между границей текстового компонента и текстом. |
NavigationFilter | getNavigationFilter() | Возвращает |
Dimension | getPreferredScrollableViewportSize() | Возвращает предпочтительный размер области просмотра для компонента просмотра. |
Printable | getPrintable(MessageFormat headerFormat,
MessageFormat footerFormat) | Возвращает |
int | getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction) | Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью отобразит один блок строк или столбцов, в зависимости от значения ориентации. |
boolean | getScrollableTracksViewportHeight() | Возвращает true, если область просмотра должна всегда принудительно устанавливать высоту этого |
boolean | getScrollableTracksViewportWidth() | Возвращает true, если область просмотра должна всегда принудительно устанавливать ширину этого |
int | getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction) | Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью отобразит одну новую строку или столбец, в зависимости от значения ориентации. |
String | getSelectedText() | Возвращает выделенный текст, содержащийся в этом |
Color | getSelectedTextColor() | Получает текущий цвет, используемый для отображения выделенного текста. |
Color | getSelectionColor() | Получает текущий цвет, используемый для отображения выделения. |
int | getSelectionEnd() | Возвращает конечную позицию выделенного текста. |
int | getSelectionStart() | Возвращает начальную позицию выделенного текста. |
String | getText() | Возвращает текст, содержащийся в этом |
String | getText(int offs,
int len) | Получает часть текста, представленного компонентом. |
String | getToolTipText(MouseEvent event) | Возвращает строку, используемую в качестве подсказки для |
TextUI | getUI() | Получает фабрику пользовательского интерфейса для этого текстового редактора. |
boolean | isEditable() | Возвращает логическое значение, указывающее, является ли это |
static void | loadKeymap(Keymap map,
JTextComponent.KeyBinding[] bindings,
Action[] actions) | Загружает схему управления клавишами с набором назначений. |
Rectangle | modelToView(int pos) | Устарело. заменено на modelToView2D(int)
|
Rectangle2D | modelToView2D(int pos) | Преобразует заданное расположение в модели в место в системе координат просмотра. |
void | moveCaretPosition(int pos) | Перемещает курсор в новое положение, оставляя метку, определённую в последний раз, когда вызывался метод |
protected String | paramString() | Возвращает строковое представление этого |
void | paste() | Переносит содержимое буфера обмена системы в связанную текстовую модель. |
boolean | print() | Удобный метод печати, который отображает диалог печати и затем печатает этот |
boolean | print(MessageFormat headerFormat,
MessageFormat footerFormat) | Удобный метод печати, который отображает диалог печати и затем печатает этот |
boolean | print(MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintService service,
PrintRequestAttributeSet attributes,
boolean interactive) | Печатает содержимое этого |
void | read(Reader in,
Object desc) | Инициализирует из потока. |
void | removeCaretListener(CaretListener listener) | Удаляет слушателя курсора. |
static Keymap | removeKeymap(String nm) | Удаляет схему управления клавишами с заданным именем, ранее добавленную в документ. |
void | replaceSelection(String content) | Заменяет текущее выделенное содержимое новым содержимым, представленным данной строкой. |
protected void | restoreComposedText() | Восстанавливает составленный текст, ранее сохраненный методом |
protected boolean | saveComposedText(int pos) | Сохраняет составленный текст вокруг указанной позиции. |
void | select(int selectionStart,
int selectionEnd) | Выделяет текст между заданными начальной и конечной позициями. |
void | selectAll() | Выделяет весь текст в |
void | setCaret(Caret c) | Устанавливает используемый курсор. |
void | setCaretColor(Color c) | Устанавливает текущий цвет, используемый для отображения курсора. |
void | setCaretPosition(int position) | Устанавливает позицию курсора вставки текста для |
void | setDisabledTextColor(Color c) | Устанавливает текущий цвет, используемый для отображения отключенного текста. |
void | setDocument(Document doc) | Связывает редактор с текстовым документом. |
|---|---|---|
void | setDragEnabled(boolean b) | Включает или выключает автоматическую обработку перетаскивания. |
void | setDropMode(DropMode dropMode) | Устанавливает режим выгрузки для этого компонента. |
void | setEditable(boolean b) | Устанавливает указанный булевый флаг, чтобы указать, можно ли редактировать этот |
void | setFocusAccelerator(char aKey) | Устанавливает ускоритель клавиш, который приведет к получению фокуса получающим текстовым компонентом. |
void | setHighlighter(Highlighter h) | Устанавливает используемый выделенщик. |
void | setKeymap(Keymap map) | Устанавливает используемую карту клавиш для привязки событий к действиям. |
void | setMargin(Insets m) | Устанавливает отступ между границей текстового компонента и его текстом. |
void | setNavigationFilter(NavigationFilter filter) | Устанавливает |
void | setSelectedTextColor(Color c) | Устанавливает текущий цвет, используемый для рендеринга выделенного текста. |
void | setSelectionColor(Color c) | Устанавливает текущий цвет, используемый для рендеринга выделения. |
void | setSelectionEnd(int selectionEnd) | Устанавливает конец выделения в указанную позицию. |
void | setSelectionStart(int selectionStart) | Устанавливает начало выделения в указанную позицию. |
void | setText(String t) | Устанавливает текст этого |
void | setUI(TextUI ui) | Устанавливает фабрику пользовательского интерфейса для этого редактора, ориентированного на текст. |
void | updateUI() | Перезагружает подключаемый UI. |
int | viewToModel(Point pt) | Устарело. заменено на viewToModel2D(Point2D)
|
int | viewToModel2D(Point2D pt) | Преобразует заданное место в системе координат представления в ближайшее соответствующее местоположение в модели. |
void | write(Writer out) | Сохраняет содержимое модели в заданный поток. |
Методы, объявленные в классе javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, 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, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Подробное описание полей
FOCUS_ACCELERATOR_KEY
public static final String FOCUS_ACCELERATOR_KEY
Имя связанного свойства для ускорителя фокуса.
- См. также:
- Постоянные значения полей
DEFAULT_KEYMAP
public static final String DEFAULT_KEYMAP
Стандартная карта клавиш, которая будет использоваться всеми JTextComponent экземплярами, если не была установлена другая карта клавиш.
- См. также:
- Постоянные значения полей
Подробное описание конструкторов
JTextComponent
public JTextComponent()
Создает новый JTextComponent. Слушатели событий курсора устанавливаются, и подключаемый интерфейс устанавливается. Компонент помечается как редактируемый. Менеджер макета не используется, так как макетирование управляется подсистемой представлений текста. Модель документа устанавливается в null.
Методы
getUI
public TextUI getUI()
Извлекает фабрику пользовательского интерфейса для этого текстового редактора.
- Overrides:
-
getUIв классеJComponent - Возвращает:
- фабрику
setUI
public void setUI(TextUI ui)
Устанавливает фабрику пользовательского интерфейса для этого текстового редактора.
- Параметры:
-
ui- фабрика
updateUI
public void updateUI()
Перезагружает подключаемый пользовательский интерфейс. Ключ для извлечения нового интерфейса — getUIClassID(). Тип пользовательского интерфейса — TextUI. invalidate вызывается после установки пользовательского интерфейса.
- Overrides:
-
updateUIв классеJComponent - См. также:
-
JComponent.setUI(javax.swing.plaf.ComponentUI),UIManager.getLookAndFeel(),UIManager.getUI(javax.swing.JComponent)
addCaretListener
public void addCaretListener(CaretListener listener)
Добавляет слушателя изменения курсора для уведомления о любых изменениях курсора.
- Параметры:
-
listener- слушатель для добавления - См. также:
CaretEvent
removeCaretListener
public void removeCaretListener(CaretListener listener)
Удаляет слушателя изменения курсора.
- Параметры:
-
listener- слушатель для удаления - См. также:
CaretEvent
getCaretListeners
@BeanProperty(bound=false) public CaretListener[] getCaretListeners()
Возвращает массив всех зарегистрированных слушателей изменения курсора для этого текстового компонента.
- Возвращает:
- все слушатели изменения курсора этого компонента или пустой массив, если слушатели не зарегистрированы
- Since:
- 1.4
- См. также:
-
addCaretListener(javax.swing.event.CaretListener),removeCaretListener(javax.swing.event.CaretListener)
fireCaretUpdate
protected void fireCaretUpdate(CaretEvent e)
Уведомляет всех слушателей, зарегистрированных для получения уведомлений об этом типе события. Экземпляр события создается лениво с использованием параметров, переданных в метод fire. Список слушателей обрабатывается в порядке от последнего к первому.
- Параметры:
-
e- событие - См. также:
EventListenerList
setDocument
@BeanProperty(expert=true,
description="the text document model")
public void setDocument(Document doc) Связывает редактор с текстовым документом. Текущая зарегистрированная фабрика используется для построения представления документа, которое отображается редактором после перевалидации. Событие PropertyChange ("document") распространяется на каждый слушатель.
- Параметры:
-
doc- документ для отображения/редактирования - См. также:
getDocument()
getDocument
public Document getDocument()
Извлекает модель, связанную с редактором. Это в основном для пользовательского интерфейса, чтобы получить минимальное количество состояния, необходимого для текстового редактора. Подклассы вернут фактический тип модели, который обычно будет чем-то, что расширяет Document.
- Возвращает:
- модель
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()
Возвращает отступ между границей текстового компонента и текстом.
- Возвращает:
- отступ
setNavigationFilter
public void setNavigationFilter(NavigationFilter filter)
Устанавливает NavigationFilter. NavigationFilter используется DefaultCaret и стандартными действиями перемещения курсора как способ ограничения перемещения курсора.
- Параметры:
-
filter- фильтр - Since:
- 1.4
getNavigationFilter
public NavigationFilter getNavigationFilter()
Возвращает NavigationFilter. NavigationFilter используется DefaultCaret и стандартными действиями перемещения курсора как способ ограничения перемещения курсора. Значение null означает, что перемещение и выбор курсора не должны ограничиваться.
- Возвращает:
- NavigationFilter
- Since:
- 1.4
getCaret
public Caret getCaret()
Извлекает курсор, который позволяет текстовой навигации по представлению.
- Возвращает:
- курсор
setCaret
@BeanProperty(expert=true,
description="the caret used to select/navigate")
public void setCaret(Caret c) Устанавливает используемый курсор. По умолчанию он устанавливается установленным пользовательским интерфейсом. Если необходимо, его можно изменить на пользовательский курсор. Установка курсора приводит к срабатыванию события PropertyChange ("caret").
- Параметры:
-
c- курсор - См. также:
getCaret()
getHighlighter
public Highlighter getHighlighter()
Извлекает объект, отвечающий за выделение.
- Возвращает:
- выделитель
setHighlighter
@BeanProperty(expert=true,
description="object responsible for background highlights")
public void setHighlighter(Highlighter h) Устанавливает используемый выделитель. По умолчанию он устанавливается установленным пользовательским интерфейсом. Если необходимо, его можно изменить на пользовательский выделитель. Выделитель можно установить в null для отключения. При установке нового выделителя срабатывает событие PropertyChange ("highlighter").
- Параметры:
-
h- выделитель - См. также:
getHighlighter()
setKeymap
@BeanProperty(description="set of key event to action bindings to use") public void setKeymap(Keymap map)
Устанавливает ключевую карту для привязки событий к действиям. Установка в null фактически отключает ввод с клавиатуры. При установке новой ключевой карты срабатывает событие PropertyChange ("keymap").
- Параметры:
-
map- ключевая карта - См. также:
getKeymap()
setDragEnabled
@BeanProperty(bound=false,
description="determines whether automatic drag handling is enabled")
public void setDragEnabled(boolean b) Включает или выключает автоматическую обработку перетаскивания. Для включения автоматической обработки перетаскивания это свойство должно быть установлено в true, а TransferHandler компонента должно быть non-null. Значение свойства dragEnabled по умолчанию — false.
Задача соблюдения этого свойства и распознавания жеста перетаскивания пользователя лежит на реализации внешнего вида и, в частности, на TextUI компонента. При включении автоматической обработки перетаскивания большинство внешних видов (включая те, которые наследуют BasicLookAndFeel) запускают операцию перетаскивания и перемещения всякий раз, когда пользователь нажимает кнопку мыши над выделенным элементом, а затем перемещает мышь на несколько пикселей. Установка этого свойства в true может, следовательно, оказывать тонкое влияние на поведение выделения.
Если используется внешний вид, который игнорирует это свойство, вы все равно можете начать операцию перетаскивания и перемещения, вызвав exportAsDrag на TransferHandler компонента.
- Параметры:
-
b- Включить или выключить автоматическую обработку перетаскивания - Исключения:
-
HeadlessException- еслиbравноtrueиGraphicsEnvironment.isHeadless()возвращаетtrue - Since:
- 1.4
- См. также:
-
GraphicsEnvironment.isHeadless(),getDragEnabled(),JComponent.setTransferHandler(javax.swing.TransferHandler),TransferHandler
getDragEnabled
public boolean getDragEnabled()
Возвращает, включена ли автоматическая обработка перетаскивания.
- Возвращает:
- значение свойства
dragEnabled - Since:
- 1.4
- См. также:
setDragEnabled(boolean)
setDropMode
public final void setDropMode(DropMode dropMode)
Устанавливает режим выгрузки для этого компонента. Для обратной совместимости значение по умолчанию для этого свойства равно DropMode.USE_SELECTION. Однако рекомендуется использовать DropMode.INSERT, так как это улучшит пользовательский опыт. Он предлагает аналогичное поведение при выгрузке между текстовыми местоположениями, но делает это без влияния на фактический выбор текста и расположение курсора.
JTextComponents поддерживают следующие режимы выгрузки:
DropMode.USE_SELECTIONDropMode.INSERT
Режим выгрузки имеет смысл только в том случае, если у этого компонента есть TransferHandler , который принимает выгрузку.
- Параметры:
-
dropMode- режим выгрузки для использования - Исключения:
-
IllegalArgumentException- если режим выгрузки не поддерживается илиnull - Since:
- 1.6
- См. также:
-
getDropMode(),getDropLocation(),JComponent.setTransferHandler(javax.swing.TransferHandler),TransferHandler
getDropMode
public final DropMode getDropMode()
Возвращает режим выгрузки для этого компонента.
- Возвращает:
- режим выгрузки для этого компонента
- Since:
- 1.6
- См. также:
setDropMode(javax.swing.DropMode)
getDropLocation
@BeanProperty(bound=false) public final JTextComponent.DropLocation getDropLocation()
Возвращает расположение, которое этот компонент должен визуально указывать как место для выгрузки во время операции перетаскивания над компонентом, или null если в настоящее время нет места для показа.
Этот метод не предназначен для запроса места выгрузки из TransferHandler, так как место выгрузки устанавливается только после того, как TransferHandler завершил canImport и разрешил отображение расположения.
При изменении этого свойства компонент генерирует событие изменения свойства с именем "dropLocation".
- Возвращает:
- место выгрузки
- С:
- 1.6
- См. также:
-
setDropMode(javax.swing.DropMode),TransferHandler.canImport(TransferHandler.TransferSupport)
getKeymap
public Keymap getKeymap()
Получает текущую раскладку клавиатуры, активную в этом текстовом компоненте.
- Возвращает:
- раскладку клавиатуры
addKeymap
public static Keymap addKeymap(String nm,
Keymap parent) Добавляет новую раскладку клавиатуры в иерархию раскладок. Связывание раскладок происходит сверху вниз, поэтому атрибут, указанный в дочернем элементе, переопределяет атрибут, указанный в родительском элементе.
- Параметры:
-
nm- имя раскладки (должно быть уникальным в коллекции именованных раскладок в документе); имя может бытьnullесли раскладка не имеет имени, но вызывающий метод отвечает за управление ссылкой, так как безымянная раскладка не может быть получена по имени -
parent- родительская раскладка; может бытьnullесли необязательные привязки не нужно разрешать в другой раскладке - Возвращает:
- раскладку клавиатуры
removeKeymap
public static Keymap removeKeymap(String nm)
Удаляет ранее добавленную в документ именованную раскладку. Раскладки с null именами не могут быть удалены таким способом.
- Параметры:
-
nm- имя раскладки для удаления - Возвращает:
- удалённую раскладку
getKeymap
public static Keymap getKeymap(String nm)
Получает ранее добавленную в документ именованную раскладку. Это не работает с null-именованными раскладками.
- Параметры:
-
nm- имя раскладки - Возвращает:
- раскладку клавиатуры
loadKeymap
public static void loadKeymap(Keymap map,
JTextComponent.KeyBinding[] bindings,
Action[] actions) Загружает раскладку клавиатуры с набором привязок. Это можно использовать для загрузки статической таблицы определений в раскладку. Следующий пример иллюстрирует пример привязки некоторых клавиш к действиям вырезания, копирования и вставки, связанным с JTextComponent. Фрагмент кода для этого может выглядеть следующим образом:
static final JTextComponent.KeyBinding[] defaultBindings = {
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK),
DefaultEditorKit.copyAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK),
DefaultEditorKit.pasteAction),
new JTextComponent.KeyBinding(
KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK),
DefaultEditorKit.cutAction),
};
JTextComponent c = new JTextPane();
Keymap k = c.getKeymap();
JTextComponent.loadKeymap(k, defaultBindings, c.getActions()); Наборы привязок и действий могут быть пустыми, но должны быть не-null. - Параметры:
-
map- раскладка клавиатуры -
bindings- привязки -
actions- набор действий
getCaretColor
public Color getCaretColor()
Возвращает текущий цвет, используемый для отрисовки курсора.
- Возвращает:
- цвет
setCaretColor
@BeanProperty(preferred=true,
description="the color used to render the caret")
public void setCaretColor(Color c) Устанавливает текущий цвет, используемый для отрисовки курсора. Установка в null эффективно восстанавливает цвет по умолчанию. Установка цвета приводит к срабатыванию события PropertyChange ("caretColor").
- Параметры:
-
c- цвет - См. также:
getCaretColor()
getSelectionColor
public Color getSelectionColor()
Возвращает текущий цвет, используемый для отрисовки выделения.
- Возвращает:
- цвет
setSelectionColor
@BeanProperty(preferred=true,
description="color used to render selection background")
public void setSelectionColor(Color c) Устанавливает текущий цвет, используемый для отрисовки выделения. Установка цвета в null эквивалентна установке Color.white. Установка цвета приводит к событию PropertyChange ("selectionColor").
- Параметры:
-
c- цвет - См. также:
getSelectionColor()
getSelectedTextColor
public Color getSelectedTextColor()
Возвращает текущий цвет, используемый для отрисовки выделенного текста.
- Возвращает:
- цвет
setSelectedTextColor
@BeanProperty(preferred=true,
description="color used to render selected text")
public void setSelectedTextColor(Color c) Устанавливает текущий цвет, используемый для отрисовки выделенного текста. Установка цвета в null эквивалентна Color.black. Установка цвета приводит к срабатыванию события PropertyChange ("selectedTextColor").
- Параметры:
-
c- цвет - См. также:
getSelectedTextColor()
getDisabledTextColor
public Color getDisabledTextColor()
Возвращает текущий цвет, используемый для отрисовки отключенного текста.
- Возвращает:
- цвет
setDisabledTextColor
@BeanProperty(preferred=true,
description="color used to render disabled text")
public void setDisabledTextColor(Color c) Устанавливает текущий цвет, используемый для отрисовки отключенного текста. Установка цвета генерирует событие PropertyChange ("disabledTextColor").
- Параметры:
-
c- цвет - См. также:
getDisabledTextColor()
replaceSelection
public void replaceSelection(String content)
Заменяет текущее выделенное содержимое новым содержимым, представленным заданной строкой. Если выделение отсутствует, это эквивалентно вставке заданного текста. Если текст для замены отсутствует, это эквивалентно удалению текущего выделения.
Этот метод используется реализацией по умолчанию действия для вставки содержимого, которое привязывается к действиям раскладки.
- Параметры:
-
content- содержимое для замены выделения
getText
public String getText(int offs,
int len)
throws BadLocationException Получает часть текста, представленного компонентом. Возвращает пустую строку, если длина равна 0.
- Параметры:
-
offs- смещение ≥ 0 -
len- длина ≥ 0 - Возвращает:
- текст
- Исключения:
-
BadLocationException- если смещение или длина некорректны
modelToView
@Deprecated(since="9")
public Rectangle modelToView(int pos)
throws BadLocationException modelToView2D(int)
Преобразует заданное расположение в модели в место в системе координат представления. Для этого преобразования компонент должен иметь положительный размер (т. е. макет не может быть рассчитан, пока компонент не получит размер). Компонент не обязательно должен быть видимым или нарисованным.
- Параметры:
-
pos- позиция ≥ 0 - Возвращает:
- координаты в виде прямоугольника, где (r.x, r.y) — расположение в системе координат, или null, если у компонента еще нет положительного размера.
- Исключения:
-
BadLocationException- если заданная позиция не представляет собой допустимое расположение в связанном документе - См. также:
TextUI.modelToView(javax.swing.text.JTextComponent, int)
modelToView2D
public Rectangle2D modelToView2D(int pos)
throws BadLocationException Преобразует заданное расположение в модели в место в системе координат представления. Для этого преобразования компонент должен иметь положительный размер (т. е. макет не может быть рассчитан, пока компонент не получит размер). Компонент не обязательно должен быть видимым или нарисованным.
- Параметры:
-
pos- позиция>= 0 - Возвращает:
- координаты в виде прямоугольника, где (r.x, r.y) — расположение в системе координат, или null, если у компонента еще нет положительного размера.
- Исключения:
-
BadLocationException- если заданная позиция не представляет собой допустимое расположение в связанном документе - С:
- 9
- См. также:
TextUI.modelToView2D(javax.swing.text.JTextComponent, int, javax.swing.text.Position.Bias)
viewToModel
@Deprecated(since="9") public int viewToModel(Point pt)
viewToModel2D(Point2D)
Преобразует заданное место в системе координат представления в ближайшее представительное расположение в модели. Для этого преобразования компонент должен иметь положительный размер (т. е. макет не может быть рассчитан, пока компонент не получит размер). Компонент не обязательно должен быть видимым или нарисованным.
- Параметры:
-
pt- расположение в представлении для преобразования - Возвращает:
- смещение ≥ 0 от начала документа, или -1, если у компонента еще нет положительного размера.
- См. также:
TextUI.viewToModel(javax.swing.text.JTextComponent, java.awt.Point)
viewToModel2D
public int viewToModel2D(Point2D pt)
Преобразует заданное место в системе координат представления в ближайшее представительное расположение в модели. Для этого преобразования компонент должен иметь положительный размер (т. е. макет не может быть рассчитан, пока компонент не получит размер). Компонент не обязательно должен быть видимым или нарисованным.
- Параметры:
-
pt- расположение в представлении для преобразования - Возвращает:
- смещение
>= 0от начала документа, или-1если у компонента еще нет положительного размера. - С:
- 9
- См. также:
TextUI.viewToModel2D(javax.swing.text.JTextComponent, java.awt.geom.Point2D, javax.swing.text.Position.Bias[])
cut
public void cut()
Переносит текущий выделенный диапазон в связанной текстовой модели в буфер обмена системы, удаляя содержимое из модели. Текущее выделение сбрасывается. Не делает ничего для null выделений.
- См. также:
-
Toolkit.getSystemClipboard(),Clipboard
copy
public void copy()
Переносит текущий выделенный диапазон в связанной текстовой модели в буфер обмена системы, оставляя содержимое в текстовой модели. Текущее выделение остается неизменным. Не делает ничего для null выделений.
- См. также:
-
Toolkit.getSystemClipboard(),Clipboard
paste
public void paste()
Переносит содержимое системного буфера обмена в ассоциированную текстовую модель. Если в ассоциированном представлении есть выделенный фрагмент, он заменяется содержимым буфера обмена. Если выделения нет, содержимое буфера обмена вставляется перед текущей позицией вставки в ассоциированном представлении. Если буфер обмена пуст, ничего не происходит.
moveCaretPosition
public void moveCaretPosition(int pos)
Перемещает курсор в новую позицию, оставляя метку, определенную в последний раз, когда вызывался метод setCaretPosition. Это формирует выделение. Если документ null, ничего не происходит. Позиция должна быть между 0 и длиной текста компонента, иначе будет выброшено исключение.
- Параметры:
-
pos- позиция - Исключения:
-
IllegalArgumentException- если значение, предоставленное дляposition, меньше нуля или больше длины текста компонента - См. также:
setCaretPosition(int)
setFocusAccelerator
@BeanProperty(description="accelerator character used to grab focus") public void setFocusAccelerator(char aKey)
Устанавливает ускоритель клавиш, который приведет к получению фокуса принимающим текстовым компонентом. Ускоритель будет сочетанием клавиш, специфичных для платформы, и заданного символа (преобразованного в верхний регистр). Например, клавиша ALT используется в качестве модификатора на Windows, а сочетание CTRL+ALT используется на Mac. По умолчанию нет ускорителя фокуса. Любое предыдущее значение ускорителя клавиш будет заменено. Значение клавиши '\0' будет зарегистрировано и отключит ускоритель фокуса. При установке новой клавиши будет сгенерирован событие PropertyChange (FOCUS_ACCELERATOR_KEY).
- Параметры:
-
aKey- клавиша - См. также:
getFocusAccelerator()
getFocusAccelerator
public char getFocusAccelerator()
Возвращает ускоритель клавиш, который приведет к получению фокуса принимающим текстовым компонентом. Возвращает '\0', если ускоритель фокуса не был установлен.
- Возвращает:
- клавиша
read
public void read(Reader in,
Object desc)
throws IOException Инициализация из потока. Создает модель соответствующего типа для компонента и инициализирует модель из потока. По умолчанию модель загружается как обычный текст. Предыдущее содержимое модели удаляется.
- Параметры:
-
in- поток для чтения -
desc- объект, описывающий поток; это может быть строка, файл, URL и т. д. Некоторые типы документов (например, html) могут использовать эту информацию; если неnull, она добавляется как свойство документа - Исключения:
-
IOException- как выброшено используемым потоком для инициализации - См. также:
-
EditorKit.createDefaultDocument(),setDocument(javax.swing.text.Document),PlainDocument
write
public void write(Writer out)
throws IOException Сохраняет содержимое модели в заданный поток. По умолчанию модель сохраняется как обычный текст.
- Параметры:
-
out- поток вывода - Исключения:
-
IOException- при любой ошибке ввода-вывода
setCaretPosition
@BeanProperty(bound=false,
description="the caret position")
public void setCaretPosition(int position) Устанавливает позицию текстовой вставки курсора для TextComponent. Обратите внимание, что курсор отслеживает изменения, поэтому он может сместиться, если изменится основной текст компонента. Если документ null, ничего не происходит. Позиция должна быть между 0 и длиной текста компонента, иначе будет выброшено исключение.
- Параметры:
-
position- позиция - Исключения:
-
IllegalArgumentException- если предоставленное значение дляpositionменьше нуля или больше длины текста компонента
getCaretPosition
public int getCaretPosition()
Возвращает позицию текстовой вставки курсора для текстового компонента.
- Возвращает:
- позиция текстовой вставки курсора для текстового компонента ≥ 0
setText
@BeanProperty(bound=false,
description="the text of this component")
public void setText(String t) Устанавливает текст данного TextComponent в указанный текст. Если текст null или пустой, имеет эффект простого удаления старого текста. После вставки текста расположение курсора определяется реализацией класса курсора.
Обратите внимание, что текст не является связанным свойством, поэтому при его изменении не генерируется событие PropertyChangeEvent
. Для прослушивания изменений текста используйте DocumentListener.
- Параметры:
-
t- новый устанавливаемый текст - См. также:
-
getText(int, int),DefaultCaret
getText
public String getText()
Возвращает текст, содержащийся в данном TextComponent. Если базовый документ null, возвращает NullPointerException. Обратите внимание, что текст не является связанным свойством, поэтому при его изменении не генерируется событие PropertyChangeEvent
. Для прослушивания изменений текста используйте DocumentListener.
- Возвращает:
- текст
- Исключения:
-
NullPointerException- если документnull - См. также:
setText(java.lang.String)
getSelectedText
@BeanProperty(bound=false) public String getSelectedText()
Возвращает выделенный текст, содержащийся в этом TextComponent. Если выделение null или документ пустой, возвращает null.
- Возвращает:
- текст
- Исключения:
-
IllegalArgumentException- если выделение по какой-либо причине не имеет допустимого отображения в документе - См. также:
setText(java.lang.String)
isEditable
public boolean isEditable()
Возвращает логическое значение, указывающее, является ли данный TextComponent редактируемым.
- Возвращает:
- логическое значение
- См. также:
setEditable(boolean)
setEditable
@BeanProperty(description="specifies if the text can be edited") public void setEditable(boolean b)
Устанавливает указанное логическое значение, чтобы указать, должен ли данный TextComponent быть редактируемым. Событие PropertyChange ("editable") генерируется при изменении состояния.
- Параметры:
-
b- устанавливаемое логическое значение - См. также:
isEditable()
getSelectionStart
public int getSelectionStart()
Возвращает начальную позицию выделенного текста. Возвращает 0 для пустого документа или значение точки, если выделения нет.
- Возвращает:
- начальная позиция ≥ 0
setSelectionStart
@BeanProperty(bound=false,
description="starting location of the selection.")
public void setSelectionStart(int selectionStart) Устанавливает начальную позицию выделения в указанную позицию. Новая начальная точка ограничена значением до или на текущем конце выделения.
Доступно для обеспечения обратной совместимости с кодом, вызывающим этот метод для java.awt.TextComponent. Реализовано для перенаправления вызова реализации Caret, где поддерживается фактическое выделение.
- Параметры:
-
selectionStart- начальная позиция текста ≥ 0
getSelectionEnd
public int getSelectionEnd()
Возвращает конечную позицию выделенного текста. Возвращает 0, если документ пустой, или значение точки, если выделения нет.
- Возвращает:
- конечная позиция ≥ 0
setSelectionEnd
@BeanProperty(bound=false,
description="ending location of the selection.")
public void setSelectionEnd(int selectionEnd) Устанавливает конечную позицию выделения в указанную позицию. Новая конечная точка ограничена значением на или после текущего начала выделения.
Доступно для обеспечения обратной совместимости с кодом, вызывающим этот метод для java.awt.TextComponent. Реализовано для перенаправления вызова реализации Caret, где поддерживается фактическое выделение.
- Параметры:
-
selectionEnd- конечная позиция текста ≥ 0
select
public void select(int selectionStart,
int selectionEnd) Выделяет текст между указанными начальной и конечной позициями.
Этот метод устанавливает начальную и конечную позиции выделенного текста, соблюдая ограничение, что начальная позиция должна быть больше или равна нулю. Конечная позиция должна быть больше или равна начальной позиции и меньше или равна длине текста текстового компонента.
Если вызывающий передает несовместимые или недопустимые значения, метод без ошибок молча выполняет эти ограничения. В частности, если начальная или конечная позиция больше длины текста, она устанавливается равной длине текста. Если начальная позиция меньше нуля, она устанавливается равной нулю, а если конечная позиция меньше начальной, она устанавливается равной начальной позиции.
Этот вызов предоставлен для обратной совместимости. Он перенаправляется на вызов setCaretPosition, за которым следует вызов moveCaretPosition. Предпочтительный способ управления выделением — вызов этих методов напрямую.
- Параметры:
-
selectionStart- начальная позиция текста -
selectionEnd- конечная позиция текста - См. также:
-
setCaretPosition(int),moveCaretPosition(int)
selectAll
public void selectAll()
Выделяет весь текст в TextComponent. Ничего не делает на null или пустом документе.
getToolTipText
public String getToolTipText(MouseEvent event)
Возвращает строку, используемую в качестве всплывающей подсказки для event. Это будет одно из следующих значений:
- Если
setToolTipTextбыл вызван с не-nullзначением, оно будет возвращено, в противном случае - Будет возвращено значение, полученное при вызове
getToolTipTextв пользовательском интерфейсе.
JTextComponent не регистрирует себя в ToolTipManager. Это означает, что всплывающие подсказки НЕ будут отображаться из TextUI, если registerComponent не был вызван на ToolTipManager. - Переопределяет:
-
getToolTipTextв классеJComponent - Параметры:
-
event- событие, о котором идет речь - Возвращает:
- строку, используемую в качестве всплывающей подсказки для
event - См. также:
-
JComponent.setToolTipText(java.lang.String),TextUI.getToolTipText(javax.swing.text.JTextComponent, java.awt.Point),ToolTipManager.registerComponent(javax.swing.JComponent)
getPreferredScrollableViewportSize
@BeanProperty(bound=false) public Dimension getPreferredScrollableViewportSize()
Возвращает предпочтительный размер области просмотра для компонента представления. Этот метод реализован для выполнения стандартного поведения, возвращая предпочтительный размер компонента.
- Определено в:
-
getPreferredScrollableViewportSizeв интерфейсеScrollable - Возвращает:
- предпочтительный размер
preferredSizeJViewport, чьё представление — этотScrollable - См. также:
JComponent.getPreferredSize()
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction) Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью отобразит одну новую строку или столбец, в зависимости от значения orientation. В идеале, компоненты должны обрабатывать частично отображаемые строки или столбцы, возвращая расстояние, необходимое для их полного отображения.
Стандартная реализация возвращает 10% от видимой области. Подклассы, вероятно, смогут предоставить гораздо более разумное значение.
- Определено в:
-
getScrollableUnitIncrementв интерфейсеScrollable - Параметры:
-
visibleRect- область представления, видимая в области просмотра -
orientation- либоSwingConstants.VERTICAL, либоSwingConstants.HORIZONTAL -
direction- меньше нуля для прокрутки вверх/влево, больше нуля для прокрутки вниз/вправо - Возвращает:
- приращение "единицы" для прокрутки в указанном направлении
- Исключение:
-
IllegalArgumentException- для недопустимого значения orientation - См. также:
JScrollBar.setUnitIncrement(int)
getScrollableBlockIncrement
public int getScrollableBlockIncrement(Rectangle visibleRect,
int orientation,
int direction) Компоненты, отображающие логические строки или столбцы, должны вычислять приращение прокрутки, которое полностью отобразит один блок строк или столбцов, в зависимости от значения orientation.
Стандартная реализация просто возвращает видимую область. Подклассы, вероятно, смогут предоставить гораздо более разумное значение.
- Определено в:
-
getScrollableBlockIncrementв интерфейсеScrollable - Параметры:
-
visibleRect- область представления, видимая в области просмотра -
orientation- либоSwingConstants.VERTICAL, либоSwingConstants.HORIZONTAL -
direction- меньше нуля для прокрутки вверх/влево, больше нуля для прокрутки вниз/вправо - Возвращает:
- приращение "блока" для прокрутки в указанном направлении
- Исключение:
-
IllegalArgumentException- для недопустимого значения orientation - См. также:
JScrollBar.setBlockIncrement(int)
getScrollableTracksViewportWidth
@BeanProperty(bound=false) public boolean getScrollableTracksViewportWidth()
Возвращает true, если область просмотра всегда должна форсировать ширину этого Scrollable для соответствия ширине области просмотра. Например, обычное текстовое представление, поддерживающее перенос строк, вернёт true здесь, так как нежелательно, чтобы переносимые строки исчезали за правым краем области просмотра. Обратите внимание, что возвращение true для Scrollable, у которого предком является JScrollPane, фактически отключает горизонтальную прокрутку.
Контейнеры прокрутки, такие как JViewport, будут использовать этот метод каждый раз при валидации.
- Определено в:
-
getScrollableTracksViewportWidthв интерфейсеScrollable - Возвращает:
- true, если область просмотра должна форсировать ширину
Scrollableдля соответствия её собственной
getScrollableTracksViewportHeight
@BeanProperty(bound=false) public boolean getScrollableTracksViewportHeight()
Возвращает true, если область просмотра всегда должна форсировать высоту этого Scrollable для соответствия высоте области просмотра. Например, текстовое представление со столбцами, организованными слева направо, может фактически отключить вертикальную прокрутку, возвращая true здесь.
Контейнеры прокрутки, такие как JViewport, будут использовать этот метод каждый раз при валидации.
- Определено в:
-
getScrollableTracksViewportHeightв интерфейсеScrollable - Возвращает:
- true, если область просмотра должна форсировать высоту элемента Scrollable для соответствия её собственной
public boolean print()
throws PrinterException Удобный метод печати, отображающий диалог печати, а затем печатающий этот JTextComponent в интерактивном режиме без заголовка и подвала. Примечание: этот метод блокируется до завершения печати.
Примечание: в бесголовом режиме диалоги не будут отображаться.
Этот метод вызывает полнофункциональный метод print для выполнения печати.
- Возвращает:
-
true, если печать не была отменена пользователем - Исключение:
-
PrinterException- если ошибка в системе печати приводит к прерыванию задания -
SecurityException- если данному потоку запрещено инициировать запрос на печать - С тех пор:
- 1.6
- См. также:
print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean)
public boolean print(MessageFormat headerFormat,
MessageFormat footerFormat)
throws PrinterException Удобный метод печати, отображающий диалог печати, а затем печатающий этот JTextComponent в интерактивном режиме с указанным заголовком и подвалом. Примечание: этот метод блокируется до завершения печати.
Примечание: в бесголовом режиме диалоги не будут отображаться.
Этот метод вызывает полнофункциональный метод print для выполнения печати.
- Параметры:
-
headerFormat- текст, вMessageFormat, используемый в качестве заголовка, илиnullдля отсутствия заголовка -
footerFormat- текст, вMessageFormat, используемый в качестве подвала, илиnullдля отсутствия подвала - Возвращает:
-
true, если печать не была отменена пользователем - Исключение:
-
PrinterException- если ошибка в системе печати приводит к прерыванию задания -
SecurityException- если данному потоку запрещено инициировать запрос на печать - С тех пор:
- 1.6
- См. также:
-
print(MessageFormat, MessageFormat, boolean, PrintService, PrintRequestAttributeSet, boolean),MessageFormat
public boolean print(MessageFormat headerFormat,
MessageFormat footerFormat,
boolean showPrintDialog,
PrintService service,
PrintRequestAttributeSet attributes,
boolean interactive)
throws PrinterException Печатает содержимое этого JTextComponent. Примечание: этот метод блокируется до завершения печати.
Текст заголовка и подвала страницы можно добавить в вывод, предоставив аргументы MessageFormat. Код печати запрашивает Strings из форматов, предоставляя единственный элемент, который может быть включен в отформатированную строку: Integer, представляющий текущий номер страницы.
Параметр showPrintDialog boolean позволяет указать, отображается ли пользователю диалог печати. Если он отображается, пользователь может изменить атрибуты печати или даже отменить печать с помощью диалога.
service позволяет указать начальные PrintService для диалога печати или задать PrintService для печати, когда диалог не отображается.
attributes может использоваться для предоставления начальных значений для диалога печати или для предоставления необходимых атрибутов, когда диалог не отображается. attributes может использоваться для управления способом печати, например, двусторонней или односторонней печати.
Параметр interactive boolean позволяет указать, выполнять ли печать в интерактивном режиме. Если true, во время печати отображается диалог прогресса с опцией прерывания. Этот диалог является модальным, когда print вызывается на потоке обработки событий и немодальным в противном случае. Предупреждение: вызов этого метода на потоке обработки событий с
interactive false блокирует все события, включая перерисовки, до завершения печати. Рекомендуется только при печати из приложения без видимого графического интерфейса.
Примечание: в бесголовом режиме параметры showPrintDialog и interactive игнорируются, и диалоги не отображаются.
Этот метод гарантирует, что document не изменяется во время печати. Для визуального обозначения этого setEnabled(false) устанавливается на время печати.
Этот метод использует getPrintable(java.text.MessageFormat, java.text.MessageFormat) для рендеринга содержимого документа.
Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительную информацию см. в Асинхронность в Swing.
Пример использования. Этот фрагмент кода показывает кроссплатформенный диалог печати, а затем печатает JTextComponent в интерактивном режиме, если пользователь не отменяет диалог:
textComponent.print(new MessageFormat("My text component header"),
new MessageFormat("Footer. Page - {0}"), true, null, null, true); Выполнение этого кода вне потока обработки событий выполняет печать в фоновом режиме. Для фоновой печати может использоваться следующая схема:
FutureTask<Boolean> future =
new FutureTask<Boolean>(
new Callable<Boolean>() {
public Boolean call() {
return textComponent.print(.....);
}
});
executor.execute(future);
- Параметры:
-
headerFormat- текст, используемый в качестве заголовка вMessageFormat, илиnullдля отсутствия заголовка -
footerFormat- текст, используемый в качестве подвала вMessageFormat, илиnullдля отсутствия подвала -
showPrintDialog-trueотобразить диалог печати,falseв противном случае -
service- начальныеPrintService, илиnullдля значения по умолчанию -
attributes- атрибуты задания для применения к заданию печати, илиnullдля отсутствия атрибутов -
interactive- выполнять ли печать в интерактивном режиме - Возвращает:
-
true, если печать не отменена пользователем - Использует:
-
PrinterException- если ошибка в системе печати привела к прерыванию задания -
SecurityException- если этому потоку не разрешено инициировать запрос на выполнение задания печати - С:
- 1.6
- См. также:
-
getPrintable(java.text.MessageFormat, java.text.MessageFormat),MessageFormat,GraphicsEnvironment.isHeadless(),FutureTask
getPrintable
public Printable getPrintable(MessageFormat headerFormat,
MessageFormat footerFormat) Возвращает Printable для печати содержимого этого JTextComponent. Возвращенное Printable печатает документ так, как он выглядит на экране, за исключением переформатирования для подгонки к бумаге. Возвращенное Printable можно обернуть в другое Printable для создания сложных отчетов и документов.
Возвращенное Printable совмещает document с этим JTextComponent. Разработчик несет ответственность за то, чтобы document не изменялся во время использования этого Printable. Поведение печати не определено, если document изменяется во время печати.
Текст заголовка и подвала страницы можно добавить в вывод, предоставив аргументы MessageFormat. Код печати запрашивает Strings из форматов, предоставляя один элемент, который может быть включен в отформатированную строку: Integer представляющий текущий номер страницы.
Возвращенное Printable при печати должным образом форматирует содержимое документа для размера страницы. Для правильного переноса строк imageable width всех страниц должны быть одинаковыми. См. PageFormat.getImageableWidth().
Этот метод потокобезопасен, хотя большинство методов Swing таковыми не являются. Дополнительную информацию см. в Асинхронность в Swing.
Возвращенное Printable можно печатать в любом потоке.
Это реализация возвращает Printable выполняет всю отрисовку в потоке обработки событий, независимо от потока, в котором она используется.
- Параметры:
-
headerFormat- текст, используемый в качестве заголовка вMessageFormat, илиnullдля отсутствия заголовка -
footerFormat- текст, используемый в качестве подвала вMessageFormat, илиnullдля отсутствия подвала - Возвращает:
Printableдля использования при печати содержимого этогоJTextComponent- С:
- 1.6
- См. также:
-
Printable,PageFormat,Document.render(java.lang.Runnable)
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Возвращает AccessibleContext для этого JTextComponent. Для текстовых компонентов AccessibleContext представлен в виде AccessibleJTextComponent. Новый экземпляр AccessibleJTextComponent создается при необходимости.
- Определено:
-
getAccessibleContextв интерфейсеAccessible - Переопределяет:
-
getAccessibleContextв классеComponent - Возвращает:
AccessibleJTextComponentкоторый служитAccessibleContextэтогоJTextComponent
paramString
protected String paramString()
Возвращает строковое представление этого JTextComponent. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут различаться между реализациями. Возвращаемая строка может быть пустой, но не null.
Переопределение paramString для предоставления информации о специфических новых аспектах компонентов JFC.
- Переопределяет:
-
paramStringв классеJComponent - Возвращает:
- строковое представление этого
JTextComponent
saveComposedText
protected boolean saveComposedText(int pos)
Сохраняет составленный текст вокруг указанной позиции. Составленный текст (если есть) вокруг указанной позиции сохраняется в памяти и удаляется из документа.
- Параметры:
-
pos- позиция документа для определения расположения составленного текста - Возвращает:
-
trueесли составленный текст существует и сохранен,falseв противном случае - С:
- 1.7
- См. также:
restoreComposedText()
restoreComposedText
protected void restoreComposedText()
Восстанавливает составленный текст, ранее сохраненный методом saveComposedText. Сохраненный составленный текст вставляется обратно в документ. Этот метод должен вызываться только если saveComposedText возвращает true.
- С:
- 1.7
- См. также:
saveComposedText(int)
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/text/JTextComponent.html