Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
0 / 0 / 0
Регистрация: 12.08.2011
Сообщений: 4
1

Создание собственной маски для тестового поля

13.08.2011, 13:33. Показов 1443. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я пытаюсь написать обработчик, который позволял бы вводить в тествовое поле только корректную дату.

Делаю я это так:
Сначала отслеживаю событие KeyEvent, через KeyListener
Код
frmtxt.addKeyListener(new KeyListener()
{
  public void keyPressed(KeyEvent e)
  {
     // ЗАПОМИНАЮ КОД НАЖАТОЙ КЛАВИШИ
     KeyPressed = e.getKeyChar(); 
     // ЗАПОМИНАЮ СТРОКУ до нажатия
     StrWas = frmtxt.getText(); 
  }
  public void keyReleased(KeyEvent e) 
  { 
  }
  public void keyTyped(KeyEvent e) 
  {
  }
}
Потом отслеживаю события по изменению текста
Код
frmtxt.getDocument().addDocumentListener(new DocumentListener()
{

  public void changedUpdate(DocumentEvent e)
  {
  }
  public void removeUpdate(DocumentEvent e)
  {
  }

  public void insertUpdate(DocumentEvent e)
  {
    // ЗДЕСЬ Я ВВЕДЕННЫЙ ТЕСТ
    // ПРОВЕРЯЮ НА КОРРЕКТНОСТЬ - 
    // НА ПРАВИЛЬНУЮ ДАТУ
  }
}
теперь собственно вопрос:
Когда я в обработчике события по изменению текста обнаружил, что введенная дата - НЕКОРРЕКТНА, то я пытаюсь задать тексту предыдущее значние:
Код
frmtxt.setText(StrWas);
Но так как я пытаюсь делать это в обработчике события по изменению текста, - то мне тут же выдается куча исключений(в принципе по логике вещей компилятор прав!!!).

В общем, как мне поменать обратно значение текстового поля, после того как обработчике события по изменению текста я обнаружил НЕКОРРЕКТНОСТЬ?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2011, 13:33
Ответы с готовыми решениями:

Создание собственной маски в maskedTextBox`e
Всем доброго времени суток! Создаю базу данных"Бюро проката автомобилей" При регистрации нового...

Отсутствуют поля для ввода основного шлюза и маски подсети
Просто отсутствуют и всё. Под полем для айпишника их нет. Что делать? Помогите, из-за этого не могу...

Создание собственной 1с конфигурация для экспедиторов
Работая в сфере грузоперевозок имею потребность в программе для учета. Полазив по интернету и...

Динамическое изменение маски ввода поля по значению из поля со списком
Есть две таблицы. В Т1 есть поле со списком "Гражданство", значения берутся из Т2. Т2 имеет три...

2
1 / 1 / 2
Регистрация: 07.01.2010
Сообщений: 128
25.08.2011, 14:46 2
Код
SwingUtilities.invokeLater(new Runnable() {
    public void run() {
       // ...setText(...)
    }
});
0
leska
02.09.2011, 23:12 3
А если по-хорошему, то нужно было бы переписать документ. remove, replace и insertString.
02.09.2011, 23:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.09.2011, 23:12
Помогаю со студенческими работами здесь

Ищу команду для создание собственной MMORPG
Привет всем любителям компьютерных игр. Среди вас я ищу людей, желающих создать свою игровую...

Создание своей собственной прокрутки для блока
Всем привет. Вот периодически натыкаюсь на сайтах на различные колонки новостей у которых имеется...

Создание собственной библиотеки функций для работы со строками
Здравствуйте, необходимо создать библиотеку, которая включает в себя несколько функции для работы...

Создание правил для собственной конфигурации через конвертацию данных
Здравствуйте. Нужна помощь с конвертацией данных из самописной конфигурации. Нужно перекинуть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru