2016-05-25 2 views
-2

Я пытаюсь поймать, если пользователь вводит число (целое число) вместо его имени (String) в текстовом поле.Как поймать исключение в GUI

Но проблема в том, что все тексты считаются строками.

Итак, как я могу реализовать это: если пользователь вводит номер в поле имени, покажите ему сообщение об ошибке?

+0

Вы можете попробовать разобрать ввод как 'Integer' – Wisph

+2

Прежде всего, это очень важно *** на языке программирования и используемой каркасе. Во-вторых, это действительно не имеет ничего общего с исключениями. В-третьих, большинство графических интерфейсов GUI позволят вам фильтровать поля ввода, поэтому вы можете проверить, когда пользователь вводит текст. Наконец, проверка того, что строка содержит «незаконные» символы, очень проста. –

+1

java и C++?. – Priyamal

ответ

3

Проведите анализ вашего текста.

int name = Integer.parseInt(jTextField.getText()); 

Если у текстового поля есть имя (например, Джон, Мэри и т. Д.), То оно выйдет из Исключения. Если textField имеет int (например, 1, 2 и т. Д.), Тогда он будет разбираться. Вы можете проверить это.

Или вы можете попробовать Formatted Text Fields с MaskFormatter.

0

Попробуйте взглянуть на регулярные выражения. Вы можете использовать что-то вроде ...

username.matches("^[a-z0-9_-]{3,15}$");

, чтобы проверить, если строка соответствует регулярному выражению.

В основном это строка длиной от 3 до 15 символов. И только те строки, которые содержат любой символ алфавита, число 0-9 и подчеркивание и тире.

Смежные вопросы