Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.controls
Пакет javafx.scene.control

Класс TextFormatter.Change

  • java.lang.Object
    • javafx.scene.control.TextFormatter.Change
  • Все реализованные интерфейсы:
    Cloneable
    Вложенный класс:
    TextFormatter<V>
    public static final class TextFormatter.Change
    extends Object
    implements Cloneable
    Содержит состояние, представляющее изменение содержимого или выделения для TextInputControl. Этот объект передается любому зарегистрированному formatter в TextInputControl всякий раз, когда текст TextInputControl изменяется.

    Этот класс содержит состояние и вспомогательные методы для определения произошедшего изменения на элементе управления. Он также содержит ссылку на сам TextInputControl, так что разработчик может запросить любое другое состояние элемента управления. Обратите внимание, что вы никогда не должны изменять состояние элемента управления непосредственно из обработчика форматирования.

    Изменение текста описывается диапазоном (getRangeStart(), getRangeEnd()) и текстом (getText(). Возможны 3 случая:

    • Было удалено некоторое количество текста: В этом случае, text пустое, а range обозначает range удаленного текста. Например, при удалении второго слова из текста "Lorem ipsum dolor sit amet", range будет (6,11), а text пустым. Аналогично, если вы хотите удалить другой или дополнительный текст, просто задайте range. Если вы хотите удалить первое слово вместо второго, просто вызовите setRange(0,5)
    • Было добавлено некоторое количество текста: Теперь range пустое (значит, ничего не удалялось), но его значение по-прежнему важно. Начало и конец range указывают на индекс, куда был добавлен новый текст. Например, добавление "ipsum " к "Lorem dolor sit amet" приведет к изменению с range (6,6) и text содержащим строку "ipsum ".
    • Некоторые текст был заменён: Сочетание двух предыдущих случаев. И text, и range не пусты. Текст в range удаляется и заменяется text в Change. Новый текст добавляется вместо старого, который находится в начале range. Например, при удалении некоторого текста, вы можете просто заменить его некоторым текстом-заполнителем, просто задав новый текст (setText("new text"))

    Change изменяемый, но не наблюдаемый. Он должен использоваться только на протяжении жизни одного изменения. Предполагается, что Change будет изменён внутри обработчика форматирования.

    С:
    JavaFX 8u40
  • Краткое описание методов

    Все методыМетодыКонкретные методы
    Модификатор и тип Метод Описание
    TextFormatter.Change clone()
    int getAnchor()
    Получает новый якорь.
    int getCaretPosition()
    Получает новое положение курсора.
    Control getControl()
    Получает элемент управления, связанный с этим изменением.
    int getControlAnchor()
    Получает текущее положение якоря элемента управления.
    int getControlCaretPosition()
    Получает текущее положение курсора элемента управления.
    String getControlNewText()
    Получает весь новый текст, который будет использован в элементе управления после этого изменения.
    String getControlText()
    Это весь текст, который был у элемента управления до изменения.
    int getRangeEnd()
    Получает конечный индекс в TextInputControl.getText() для изменения.
    int getRangeStart()
    Получает начальный индекс в TextInputControl.getText() для изменения.
    IndexRange getSelection()
    Получает выделение этого изменения.
    String getText()
    Получает текст, используемый в этом изменении.
    boolean isAdded()
    Получает, было ли это изменение ответом на добавление текста.
    boolean isContentChange()
    Изменение содержимого — это любое из изменений: добавление, удаление или замена.
    boolean isDeleted()
    Получает, было ли это изменение ответом на удаление текста.
    boolean isReplaced()
    Получает, было ли это изменение ответом на замену текста.
    void selectRange​(int newAnchor, int newCaretPosition)
    Устанавливает выделение.
    void setAnchor​(int newAnchor)
    Устанавливает якорь.
    void setCaretPosition​(int newCaretPosition)
    Устанавливает положение курсора.
    void setRange​(int start, int end)
    Метод, устанавливающий значения начала и конца таким образом, чтобы они были валидны по отношению друг к другу.
    void setText​(String value)
    Устанавливает текст для использования в этом изменении.
    String toString()
    • Методы, унаследованные от класса java.lang.Object

      equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Подробное описание методов

    • getControl

      public final Control getControl()
      Получает элемент управления, связанный с этим изменением.
      Возвращает:
      Элемент управления, связанный с этим изменением. Никогда не будет null.
    • getRangeStart

      public final int getRangeStart()
      Получает начальный индекс в TextInputControl.getText() для изменения. Будет всегда значением > 0 и ≤ TextInputControl.getLength().
      Возвращает:
      Начальный индекс
    • getRangeEnd

      public final int getRangeEnd()
      Получает конечный индекс в TextInputControl.getText() для изменения. Будет всегда значением > getRangeStart() и ≤ TextInputControl.getLength().
      Возвращает:
      Конечный индекс
    • setRange

      public final void setRange​(int start,
                                 int end)
      Метод, присваивающий значения начала и конца одновременно, гарантируя их корректность. Начало должно быть меньше или равно концу.
      Параметры:
      start - Новое начальное значение. Должно быть допустимым начальным значением
      end - Новое конечное значение. Должно быть допустимым конечным значением
    • getCaretPosition

      public final int getCaretPosition()
      Получает новое положение курсора. Это значение всегда будет > 0 и ≤ getControlNewText().getLength()}
      Возвращает:
      Новое положение курсора
    • getAnchor

      public final int getAnchor()
      Получает новое значение якоря. Это значение всегда будет > 0 и ≤ getControlNewText().getLength()}
      Возвращает:
      Новое положение якоря
    • getControlCaretPosition

      public final int getControlCaretPosition()
      Получает текущее положение курсора элемента управления.
      Возвращает:
      Предыдущее положение курсора
    • getControlAnchor

      public final int getControlAnchor()
      Получает текущее положение якоря элемента управления.
      Возвращает:
      Предыдущее значение якоря
    • selectRange

      public final void selectRange​(int newAnchor,
                                    int newCaretPosition)
      Устанавливает выделение. Значения положения якоря и курсора должны быть > 0 и ≤ getControlNewText().getLength()}. Обратите внимание на зависимость от порядка: эти значения должны быть указаны после задания нового текста.
      Параметры:
      newAnchor - Новое положение якоря
      newCaretPosition - Новое положение курсора
    • getSelection

      public final IndexRange getSelection()
      Получает выделение этого изменения. Обратите внимание, что диапазон выделения относится к getControlNewText(), а не к текущему тексту элемента управления.
      Возвращает:
      Выделенный диапазон этого изменения.
    • setAnchor

      public final void setAnchor​(int newAnchor)
      Устанавливает значение якоря. Значение якоря должно быть > 0 и ≤ getControlNewText().getLength()}. Обратите внимание на зависимость от порядка: положение должно быть указано после задания нового текста.
      Параметры:
      newAnchor - Новое положение якоря
    • setCaretPosition

      public final void setCaretPosition​(int newCaretPosition)
      Устанавливает положение курсора. Значение положения курсора должно быть > 0 и ≤ getControlNewText().getLength()}. Обратите внимание на зависимость от порядка: положение должно быть указано после задания нового текста.
      Параметры:
      newCaretPosition - Новое положение курсора
    • getText

      public final String getText()
      Получает текст, используемый в этом изменении. Например, это может быть новый текст, добавляемый, или текст, заменяющий весь текст элемента управления в диапазоне от начала до конца. Обычно это пустая строка только для случаев, когда диапазон удаляется.
      Возвращает:
      Текст, участвующий в этом изменении. Никогда не будет null.
    • setText

      public final void setText​(String value)
      Устанавливает текст для использования в этом изменении. Используется для замены диапазона от начала до конца, если такой диапазон существует, или для вставки текста в позиции, представленной start == end.
      Параметры:
      value - Текст. Не может быть null.
    • getControlText

      public final String getControlText()
      Это весь текст, который у элемента управления есть до изменения. Чтобы получить текст после этого изменения, используйте getControlNewText().
      Возвращает:
      предыдущий текст элемента управления
    • getControlNewText

      public final String getControlNewText()
      Получает весь новый текст, который будет использован в элементе управления после этого изменения. Обратите внимание, что некоторые элементы управления (такие как TextField) могут выполнить дополнительную фильтрацию после внесения изменений (например, удалить новые строки), поэтому нельзя предполагать, что newText будет точно таким же, как и окончательный контент элемента управления. Однако можно предположить, что это так для целей вычисления нового положения курсора и нового якоря (эти значения будут изменены по необходимости после того, как элемент управления удалит любые дополнительные символы, которые он может удалить).
      Возвращает:
      Предлагаемый новый текст элемента управления на момент вызова, в соответствии с состоянием свойств start, end и text в этом объекте Change.
    • isAdded

      public final boolean isAdded()
      Получает, было ли это изменение в ответ на добавление текста. Обратите внимание, что после изменения объекта Change форматировщиком (с помощью одного из методов установки) возвращаемое значение этого метода не изменяется. Оно указывает, было ли это изменение вызвано добавлением текста, а не тем, будет ли текст в итоге добавлен.
      Возвращает:
      true, если текст добавлялся
    • isDeleted

      public final boolean isDeleted()
      Получает, было ли это изменение в ответ на удаление текста. Обратите внимание, что после изменения объекта Change форматировщиком (с помощью одного из методов установки) возвращаемое значение этого метода не изменяется. Оно указывает, было ли это изменение вызвано удалением текста, а не тем, будет ли текст в итоге удален.
      Возвращает:
      true, если текст удалялся
    • isReplaced

      public final boolean isReplaced()
      Получает, было ли это изменение в ответ на замену текста. Обратите внимание, что после изменения объекта Change форматировщиком (с помощью одного из методов установки) возвращаемое значение этого метода не изменяется. Оно указывает, было ли это изменение вызвано заменой текста, а не тем, будет ли текст в итоге заменён.
      Возвращает:
      true, если текст заменялся
    • isContentChange

      public final boolean isContentChange()
      Изменение содержимого — это любое из изменений: добавление, удаление или замена. В основном это сокращение для c.isAdded() || c.isDeleted() ;
      Возвращает:
      true, если содержимое изменилось
    • toString

      public String toString()
      Переопределяет:
      toString в классе Object
    • clone

      public TextFormatter.Change clone()
      Переопределяет:
      clone в классе Object

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API