powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проверка на правильность ввода текстового поля
10 сообщений из 10, страница 1 из 1
Проверка на правильность ввода текстового поля
    #33195090
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть вот такое полечко.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
   
     private   void  setUpPeriod()
    {
          try 
         {
             MaskFormatter formatter =  new  MaskFormatter ("****");
             formatter.setValidCharacters(" 0123456789");
             intPeriod=  new  JFormattedTextField(formatter);
             intPeriod.setValue("3");
             intPeriod.setPreferredSize( new  Dimension( 50 , 20 ));
             intPeriod.setFocusLostBehavior  (JFormattedTextField.COMMIT_OR_REVERT);
             

         }
          catch (ParseException pe)
         {
             pe.printStackTrace();
         }
    }
Мне очень нужна помощь по проверке такого полечка.

Но сделать надо так, чтобы если не удовлетворяет некоторым условиям (например, длина введеного значения не может быть меньше 4 символов, вторая цифра - год и так далее) пользователь не смог бы покинуть это полечко, пока не введет правильное значение.

Спасибо...
...
Рейтинг: 0 / 0
Проверка на правильность ввода текстового поля
    #33195112
Naug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вешаешь на поле FocusListener и как фокус потеряется выполняешь проверкуи в случае косяков вызываешь grabFocus метод источника евента
...
Рейтинг: 0 / 0
Проверка на правильность ввода текстового поля
    #33196978
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naugвешаешь на поле FocusListener и как фокус потеряется выполняешь проверкуи в случае косяков вызываешь grabFocus метод источника евента


Спасибо за FocusListener .

Вот кусочек кода, метод вызывается, когда текстове поле теряет фокус или нажата клавиша "Tab"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
     public   void  editComplete()
    {
        oldValue =  new  Integer(lastValue);
        Integer newValue =  new  Integer(getValue());
         try 
        {
            fireVetoableChange("value",oldValue,newValue);
            firePropertyChange("value",oldValue,newValue);
        }
         catch (PropertyVetoException e)
        {
            // Нарушен какой-то запрет

            JOptionPane.showMessageDialog( this ,e," ОШИБКА ",JOptionPane.WARNING_MESSAGE);
            setText(""+lastValue);
            requestFocus();
          }
}

Как сделать, чтобы в JOptionPane вместе с моим сообщением не выводилось:
java.beans.PropertyVetoException?
...
Рейтинг: 0 / 0
Проверка на правильность ввода текстового поля
    #33197029
Марс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А просто showMessageDialog(Component parentComponent, Object message) используй
...
Рейтинг: 0 / 0
Проверка на правильность ввода текстового поля
    #33197031
wessen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
e.getMessage() или e.toString(), точно не помню.
...
Рейтинг: 0 / 0
Проверка на правильность ввода текстового поля
    #33197035
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naugвешаешь на поле FocusListener и как фокус потеряется выполняешь проверкуи в случае косяков вызываешь grabFocus метод источника евента


Спасибо за FocusListener .

Вот кусочек кода, метод вызывается, когда текстове поле теряет фокус или нажата клавиша "Tab"

public void editComplete()
{
oldValue = new Integer(lastValue);
Integer newValue = new Integer(getValue());
try
{
fireVetoableChange("value",oldValue,newValue);
firePropertyChange("value",oldValue,newValue);
}
catch(PropertyVetoException e)
{
// Нарушен какой-то запрет

JOptionPane.showMessageDialog(this,e," ОШИБКА ",JOptionPane.WARNING_MESSAGE);
setText(""+lastValue);
requestFocus();
}
}


Как сделать, чтобы в JOptionPane вместе с моим сообщением не выводилось:
java.beans.PropertyVetoException?
...
Рейтинг: 0 / 0
Проверка на правильность ввода текстового поля
    #33197058
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать, чтобы в JOptionPane вместе с моим сообщением не выводилось:
java.beans.PropertyVetoException?


Я решила это так:
JOptionPane.showMessageDialog(this,
e.toString().trim().substring(33,e.toString().trim().length()),
" П О М И Л К А ",JOptionPane.WARNING_MESSAGE);

Может есть более красивый способ?
...
Рейтинг: 0 / 0
Проверка на правильность ввода текстового поля
    #33197089
Naug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а напиши что ты хочешь видеть. По идее надо getMessage использовать, или самой бросать исключение с нужным сообщением.
...
Рейтинг: 0 / 0
Проверка на правильность ввода текстового поля
    #33197104
Naug
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще нафига тебе показывать юзеру исключение? Просто пиши тот текст который тебе нужен
...
Рейтинг: 0 / 0
Проверка на правильность ввода текстового поля
    #33198178
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Naugа напиши что ты хочешь видеть. По идее надо getMessage использовать, или самой бросать исключение с нужным сообщением.

Дело в том, что сообщение формируется разное по содержанию, в зависимости от конкретной ситуации...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проверка на правильность ввода текстового поля
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]