Докуметация Cтарт Статьи Форум Лента Вход
Не официальное русскоязычное сообщество
Главная
    Документация jMonkeyEngine
        jMonkeyEngine Уроки и Документация
            Вклады
                tonegodGUI
                    Текстовое поле

Текстовое поле

Опубликованно: 01.05.2017, 13:23
Последняя редакция, Andry: 01.05.2017 14:18

Класс TextField

TextField представляет собой текстовые поля ввода с одной строкой, которые обеспечивают следующие функции:

  • Caret & Выделение текста
  • Выбор мыши
  • Навигация с помощью клавиатуры:
    • Стрелки (навигация по символьно)
    • SHIFT + стрелки (выделение текста по символьно)
    • CTRL + стрелки (навигация по словам)
    • SHIFT + CTRL + стрелки (выделение текста по словом)
    • и.т.п.
  • Вырезать и вставить
Этот элемент управления все еще находится в процессе разработки и будет обновляться по мере того, как будет время или возникнут проблемы. На данный момент существует известная проблема с функцией Cut & Paste, и она была отключена(а может уже и нет).

TextFields предоставляет стандартные 3 конструктора, как показано в кратком руководстве.

Конструктор 1:

/** Параметры:
  * Screen screen,
  * String UID,
  * Vector2f расположение
  */

TextField text = new TextField(screen, “text”, new Vector2f(15, 15));

Конструктор 2:

/** Дополнительные параметры:
  * Vector2f размеры  */

TextField text = new TextField(screen, “text”, new Vector2f(15, 15),
    new Vector2f(150, 25)
);

Конструктор 3:

/** Дополнительные параметры:
  * Vector4f resizeBorders,
  * String defaultImg
  */

TextField text = new TextField(screen, “text”, new Vector2f(15, 15), new Vector2f(150, 25),
    new Vector4f(3,3,3,3),
    “tonegod/gui/style/def/TextField/text_field_x.png”
);

Валидации и стандарт

TextFields может быть установлен в конкретный тип, используя:

Стандарт  Описание
Type.DEFAULT  Принять все символы
Type.ALPHA  Принимать только строчные буквы, буквы верхнего регистра + пробел
Type.ALPHA_NOSPACE  Принимать только строчные буквы, заглавные буквы — без пробелов
Type.NUMERIC  Принимать только числовые значения + десятичные
Type.ALPHANUMERIC  Применение как ALPHA, так и стандарт NUMERIC
Type.ALPHANUMERIC_NOSPACE  Применять как ALPHA_NOSPACE, так и NUMERIC.
Type.EXCLUDE_SPECIAL  Исключить все специальные символы
Type.EXCLUDE_CUSTOM  Исключить все пользовательские символы (см. Ниже)
Type.INCLUDE_CUSTOM  Принимать только определенные пользователем символы (см. Ниже)

Чтобы определить настраиваемую проверку для Type.EXCLUDE_CUSTOM или Type.INCLUDE_CUSTOM, используйте следующий метод:

text.setCustomValidation("Character List to include/exclude");

Вы также можете ограничить количество символов, которое TextField примет, используя:

text.setMaxLimit(int maxLimit);

Вы можете форматировать верхний и нижний регистр, используя:

text.setForceUpperCase(boolean forceUpperCase);
text.setForceLowerCase(boolean forceLowerCase);

Методы, относящиеся к классу TextField:

// Получить текст TextField
text.getText();
// Задайте текст TextField! ВНИМАНИЕ! SetTextFieldText теперь @Deprecated, используйте следующее:
text.setText(String s);

// Получение числовых значений (все числовые парсеры throw NumberFormatException
text.parseInt();
text.parseFloat();
text.parseShort();
text.parseDouble();
text.parseLong();

Hooks:

public void controlKeyPressHook(KeyInputEvent evt, String text) {  }

Переведено для jmonkeyengine.ru, оригинал
Автор перевода: Andry

Добавить комментарий

jMonkeyEngine.ru © 2017. Все права сохранены.