Как запретить ввод символов в textfield java — Q&A Хекслет
2026-02-26 15:09 Diff

Для запрета ввода символов можно использовать класс InputVerifier. Он предоставляет метод verify(), который проверяет введенные данные и возвращает true или false, в зависимости от того, прошла ли проверка.

Например нижеприведенный код не позволит перейти ко второму полю, пока в первом будут символы кроме букв алфавита :

import javax.swing.*; import java.awt.*; import java.util.regex.Pattern; public class App { public static void main(String[] args) { InputVerifier verifier = new InputVerifier() { public boolean verify(JComponent input) { JTextField textField = (JTextField) input; return Pattern.matches("[a-zA-Z]+", textField.getText()); } public boolean shouldYieldFocus(JComponent source, JComponent target) { return verify(source); } }; JTextField field1 = new JTextField("only a-z and A-Z"); JTextField field2 = new JTextField(); field1.setInputVerifier(verifier); JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(field1, BorderLayout.NORTH); frame.getContentPane().add(field2, BorderLayout.SOUTH); frame.pack(); frame.setVisible(true); } }