Java Swing: Implementando uma verificação de validade dos valores de entrada

No meu aplicativo Swing, o usuário deve inserir números e valores antes de passar para a próxima janela. Agora, como um programa limpo deveria, eu verifico cada entrada se é válida ou não, e se não, uma mensagem de erro é exibida e a próxima janela não abre.

A estrutura dessa verificação é a seguinte (exemplo):

Button buttonToOpenNextWindow = new JButton("next");
button.addActionListener(new ActionListener(){

    public void actionPerformed(ActionEvent e){
        if(checkValidty){
            // (...)
            new WindowA();
            frame.dispose(); // (*)
        }
    }
});

(*) Nota: Eu sei que o princípio de múltiplos JFrames é feio, e estou mudando isso, mas para essa questão é irrelevante.

Agora, o foco desta questão é estecheckValidity(), que eu estruturei assim:

private boolean checkValidity(){

    // check input 1
    try{
        Integer.parseInt(textField1.getText());
    }catch (NumberFormatException e){
        new ErrorDialog("input 1 is invalid!"); // own implemented dialog
        return false;
    }

    // check input 2
    try{
        Integer.parseInt(textField2.getText());
    }catch (NumberFormatException e){
        new ErrorDialog("input 2 is invalid!"); // own implemented dialog
        return false;
    }

    // (...)

    // check input n
    try{
        Integer.parseInt(textField_n.getText());
    }catch (NumberFormatException e){
        new ErrorDialog("input n is invalid!"); // own implemented dialog
        return false;
    }
    return true;
}

Isso funciona exatamente como eu quero, MAS o código em si é muito feio, porque tendo múltiplas opções de entrada o método recebe 200, 300 ou mais linhas (já que eu não apenas verifico se é um número, mas também se o número faz sentido no contexto da lógica do programa e assim por diante). Existe um método Swing -own para verificar essas coisas? Ou alguém tem uma idéia melhor de como realizar exatamente essa funcionalidade com métodos divididos?

questionAnswers(4)

yourAnswerToTheQuestion