Java Swing: реализация проверки правильности входных значений

В моем приложении Swing пользователь должен вставить цифры и значения, прежде чем перейти к следующему окну. Теперь, как и чистой программе, я проверяю каждый ввод, если он действителен или нет, и если нет, отображается сообщение об ошибке, и следующее окно не открывается.

Структура этой проверки следующая (пример):

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

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

(*) Заметка: Я знаю, что принцип нескольких JFrames уродлив, и ям, чтобы изменить это, но для этого вопроса этоне имеет значения.

Теперь фокус этого вопроса заключается в следующемcheckValidity(), который я структурировал так:

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;
}

Это работает именно так, как я хочу, НО сам код очень уродлив, потому что, имея несколько вариантов ввода, метод получает 200, 300 или более строк (так как я проверяю не только, например, 's число, но также, если число имеет смысл в контексте логики программы и т. д.). Есть ли метод Swing -own для проверки таких вещей? Или у кого-нибудь есть лучшая идея, как реализовать именно эту функциональность с помощью методов разделения?

Ответы на вопрос(4)

Ваш ответ на вопрос