Как создать один метод keyTyped для многих полей JTextField в Netbeans

Я создам простую программу с графическим интерфейсом пользователя на Java с помощью Netbeans. Я хочу создать 100 JTextFields с точно таким же методом (keyTyped) для ввода определенных значений (только числа и максимум 2 символа). Как я могу сгенерировать или создать только один метод keyTyped и затем включить его во все мои поля JTextFields в Netbeans?

Привет. Пожалуйста, добавьте код, который вы уже пробовали, чтобы мы могли его посмотреть.

Fabian S. 29.10.2018 17:51
I want to create a 100 JTextFields with exactly the same method (keyTyped) to enter a specific values (only numbers and maximum 2 chars). - используйте JFormattedTextField. Вы можете указать маску, разрешающую только 2 цифры.
camickr 29.10.2018 20:11
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
51
2

Ответы 2

KeyTyped - вы должны иметь в виду KeyListener, не делайте этого. Канонический способ ограничить ввод текста в JTextField - использовать DocumentFilter в Document текстового поля. Если вы хотите применить это ко многим JTextFields, поместите их в ArrayList<JTextField> и установите фильтр для всех, используя цикл for.

Еще лучше, похоже, вам может быть лучше с JTable.

Не знаю, как сделать эту вики-страницу сообщества с моего телефона

Hovercraft Full Of Eels 29.10.2018 17:43

Просто создайте метод, который выполняет проверку, и вызывайте его всякий раз, когда происходит событие по вашему выбору:

// pass field as a parameter so the method knows which field to check
public void performCheck(final JTextField field) {
    // check logic
}

// do this for all your text fields
JTextField text = new JTextField();
// choose appropriate listener type
text.addActionListener(e -> performCheck(text));

Другие вопросы по теме