Я изучаю java swing. Существует редактируемый JComboBox
для выбора разных глубин воды и JTextField
, чтобы принять мобильный номер. Мой вопрос заключается в том, как я могу ограничить пользователя вводить только цифры в этих двух полях, а также как ограничить максимальное количество входных символов, например, не более 10 для мобильного номера? Доступны ли методы для этих требований или мне нужно их определить? Заранее благодарим за помощь.Как ограничить типы ввода
ответ
Используйте JFormattedTextField
что-то вроде:
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame("JFormattedTextField Example");
MaskFormatter fmt = null;
// A phone number 10 digits
try {
fmt = new MaskFormatter("(###)-###-####");//brackets() are optional just there for my pref
fmt.setPlaceholderCharacter('*');//set place holder for the empty digits of the number
} catch (java.text.ParseException e) {
}
JFormattedTextField tft1 = new JFormattedTextField(fmt);
frame.add(tft1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
}
});
}
Это автоматически имеет свойства, которые вы хотите будет принимать только цифры в заданном формате Посмотрите на документы тоже для получения дополнительной информации: JFormattedTextField
Благодарю вас за помощь. –
Как насчет этого, чтобы запретить пользователю вводить символы, отличные от цифр, в текстовом поле телефона
TF1.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub
char k=arg0.getKeyChar();
if (!(k>='0' && k<='9'))
arg0.consume();
}
@Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent arg0) {
// TODO Auto-generated method stub
}
});
определенно не хороший метод, если что-то скорее использует [DocumentListener] (http://docs.oracle.com/javase/tutorial/uiswing/events/documentlistener.html) с помощью 'JTextField' (даже тогда), это то, что' JFormattedTextField - для ИМО –
- 1. Uploadify Ограничить типы файлов
- 2. Как ограничить количество символов в JTextPane как типы пользователей (Java)
- 3. Типы ввода IIS для ввода
- 4. Как ограничить типы имен в шаблоне
- 5. Как ограничить типы проверок в Hibernate Envers
- 6. Как ограничить типы параметров в общих методах
- 7. Как ограничить типы файлов jQuery при загрузке?
- 8. Как ограничить типы файлов грозными js
- 9. Ограничить типы файлов по капельке
- 10. Ограничить количество символов ввода
- 11. Ограничить клавиши ввода
- 12. Типы ввода в textarea
- 13. Типы ввода функций
- 14. Типы ввода в Haskell
- 15. Целевые типы ввода - SASS
- 16. Использование плагина geocomplete jquery, как ограничить типы только в аэропортах
- 17. Ограничить типы файлов, разрешенных для загрузки asp.net
- 18. Поле ввода - Ограничить одну цифру
- 19. Ограничить пользователя для ввода символов
- 20. Как ограничить ячейку для ввода только чисел
- 21. Как ограничить тип ввода «число» степенями 2?
- 22. Как ограничить диапазон маски ввода шестнадцатеричными символами
- 23. Как ограничить время ввода в python, windows?
- 24. php как ограничить число процессов ввода
- 25. Как ограничить максимальную ширину ввода номера html5
- 26. Как ограничить "+ - e,". от ввода номера HTML?
- 27. Как ограничить длину ввода с помощью scanf
- 28. dojox.grid.DataGrid Как добавить поле ввода и ограничить размер ввода
- 29. Как полностью ограничить десятичные точки от ввода ввода текста?
- 30. Ограничить типы, которые могут реализовать черту
Вы можете использовать 'JSpinner' с числовой моделью для глубины. –