在Java中验证文本字段

时间:2017-04-22 18:59:37

标签: java validation jtextfield

我需要验证Java中的文本字段,以便用户只能用数字填充此字段(没有字母,没有空字段)。

1 个答案:

答案 0 :(得分:0)

您可以使用InputVerifier进行此操作

public class Main extends JFrame {
    private JTextField textField1 = new JTextField();
    private JTextField textField2 = new JTextField();

    public Main() {
        setSize(200,200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        add(textField1, BorderLayout.NORTH);
        add(textField2, BorderLayout.SOUTH);
        textField1.setInputVerifier(fieldVerifier);
    }

    InputVerifier fieldVerifier = new InputVerifier() {
        @Override
        public boolean verify(JComponent input) {
            JTextField temp = (JTextField)input;
            try {
                int number = Integer.parseInt(temp.getText());
                return true;
            }
            catch(NumberFormatException e) {
                JOptionPane.showMessageDialog(null, "You MUST input only numbers!");
            }
            return false;
        }
    };

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Main().setVisible(true);
            }
        });
    }
}