Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проверка на правильность ввода текстового поля / 10 сообщений из 10, страница 1 из 1
01.08.2005, 18:33
    #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
01.08.2005, 18:48
    #33195112
Naug
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на правильность ввода текстового поля
вешаешь на поле FocusListener и как фокус потеряется выполняешь проверкуи в случае косяков вызываешь grabFocus метод источника евента
...
Рейтинг: 0 / 0
02.08.2005, 15:32
    #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
02.08.2005, 15:41
    #33197029
Марс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на правильность ввода текстового поля
А просто showMessageDialog(Component parentComponent, Object message) используй
...
Рейтинг: 0 / 0
02.08.2005, 15:42
    #33197031
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на правильность ввода текстового поля
e.getMessage() или e.toString(), точно не помню.
...
Рейтинг: 0 / 0
02.08.2005, 15:43
    #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
02.08.2005, 15:47
    #33197058
GlukOza
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка на правильность ввода текстового поля
Как сделать, чтобы в JOptionPane вместе с моим сообщением не выводилось:
java.beans.PropertyVetoException?


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

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

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


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