Как создать один метод keyTyped для многих JTextFields в Netbeans - PullRequest
0 голосов
/ 29 октября 2018

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

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

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

// 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));
0 голосов
/ 29 октября 2018

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

Еще лучше, звучит так, будто вам лучше с JTable.

...