JTextField & валидатор

0 отговора 29 прегледа
#1

JTextField & валидатор

здравейте
Опитвам да сложа валидатор на JTextField - с jbuilder9, но предполагам изобщо за swing това е стандартно. Полето е за дата, валидаторът работи, ама ми се иска, при грешен формат не само да не дава да се сменя фокусът, а да излиза джам с обяснение какъв е форматът. Опитах, но - валидаторът не дава да се сменя фокусът и съответно диалогът се губи. Ето какво пробвах да направя:
class DateVerifier extends InputVerifier {
/**
* Proveriava, dali e pravilno
* vyvedena datata
*
* @param input
* @return
*/
public boolean verify(JComponent input) {
JTextField tf = (JTextField) input;
String dateTxt = tf.getText();
Date date = null;
try {
DateFormat formatter = null;
formatter = DateFormat.getDateInstance(DateFormat.SHORT, Polica.bgLocal);

formatter.setLenient(false);

date = formatter.parse(dateTxt);
} catch (ParseException e) {
// System.out.println("ValidatorTest.formatDate() - " + e.getMessage());
JOptionPane.showMessageDialog(null, "Внимание", "неправилен формат на датата", JOptionPane.ERROR_MESSAGE);
return false;
}

return true;
}

}
Но ако така не става, какъв вариан има?

Когато боговете говорят, ония с фактите никакви ги няма.
Отговор