2015-08-16 6 views
1

У меня есть приложение Java swing, которое содержит 4 Jtextfields, 1 JLabel и 1 JButton. Я хочу, чтобы пользователь вводил целочисленные значения в 4 поля JText, и когда пользователь нажимает на JButton, сумма целых значений должна появляться в Jlabel ... Теперь основная проблема заключается в JButtons onClickListener. Я должен проверить JTextfields и i нужно точно знать, в каком JTextfield была неверная запись ... Я думал о реализации отдельного блока try-catch для каждого поля JText и использования Integer.parseInt (String s) в onClickListener JButton таким образом, я знал бы, какое JTextfield вызывает проблемы ... Но не будет ли использование отдельного блока try-catch для каждого поля JTextfield неэффективным? Может ли кто-нибудь предложить лучший подход ...Проверка подлинности Java GUI

+1

Сколько попыток блокировки, проверяющих целое число, вы думаете, что компьютер может выполнять в секунду? Он ближе к 4, или ближе к 4 миллионам? Если вы думаете, что он ближе к 4 миллионам, вы думаете, что конечный пользователь найдет ваше приложение слишком медленным, потому что он займет миллионную долю секунды, чтобы реагировать на нажатие кнопки? –

ответ

4

Но не реализует ли отдельный блок try-catch для каждого поля JText неэффективно ???

Неэффективный? Это вряд ли проблема, когда вы проверяете только 4 JTextFields и не должны быть частью своего рассмотрения в этом случае. Вместо этого я бы сосредоточил внимание на простоте использования и безопасности GUI. Рассмотрите возможность предотвращения ввода пользователем нечисловых данных в первую очередь, используя JSpinner или JFormattedTextField или используя DocumentFilter. Подумайте о том, чтобы оставить JButton, или лучше, это Action, отключено, пока все четыре текстовых поля не будут заполнены. Это сделает ваш GUI более идиотским.


Согласно комментарий JB Nizet в:

Я бы также сосредоточиться на ремонтопригодность, и не повторять один и тот же блок кода в 4 раза. Используйте массив или список, чтобы сохранить 4 кнопки, и используйте цикл, чтобы сделать то же самое для 4 кнопок.

+0

+1, или курс. Я бы также сосредоточился на ремонтопригодности и не повторял один и тот же блок кода 4 раза. Используйте массив или список, чтобы сохранить 4 кнопки, и используйте цикл, чтобы сделать то же самое для 4 кнопок. –

+0

@JBNizet: спасибо за отличные предложения. –

+0

Не использует слишком много блоков try-catch, считающихся плохой практикой программирования ??? Мне просто интересно, есть ли более зрелый способ решить эту проблему ... – user2423083

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