Добавление одного длинного сообщения в конце кода с использованием JOptionPane - PullRequest
1 голос
/ 07 мая 2019

У меня есть этот код, который проходит через ArrayList<> и проверяет, соответствует ли добавленная информация о клиенте критериям программы. У меня все это работает, мой вопрос заключается в том, как мне напечатать сообщение JOptionPane в конце кода, отображающего каждую ошибку в одном сообщении, вместо печати нескольких сообщений JOptionPane после каждой проверки. Я хотел бы, чтобы все эти отдельные сообщения были в одном большом сообщении в конце, если входные данные не были равны операторам if.

for(Customer c : customerCopy){

            //checking is username entered equals a username already in the file
    if(c.getUserName().equals(userTextStr))
        sameUserName = true;
    if(sameUserName)
        JOptionPane.showMessageDialog(null, "User name already taken");
        }

            //checking if both passwords that are entered match each other
    if(!passStr.equals(passStr2))
        JOptionPane.showMessageDialog(null, "Passwords don't match");

            //checking if the password length is within the valid range
    if(passStr.length() < 8 || passStr.length() > 10)
        JOptionPane.showMessageDialog(null, "Password invalid length");

    boolean hasUpperCase = !passStr.equals(passStr.toLowerCase());
    boolean hasLowerCase = !passStr.equals(passStr.toUpperCase());
    boolean hasInteger = false;
        for(int i = 0; i < passStr.length(); i++)
            if(Character.isDigit(passStr.charAt(i)))
                hasInteger = true;

             //checking to see if password contains an uppercase letter   
    if(!hasUpperCase)
        JOptionPane.showMessageDialog(null, "Password must contain an uppercase letter");

            //checking to see if password contains a lowercase letter
    if(!hasLowerCase)
        JOptionPane.showMessageDialog(null, "Password must contain a lowercase letter");

            //checking to see if the password contains a number
    if(!hasInteger)
        JOptionPane.showMessageDialog(null, "Password must contain a number");//PUT ONE LARGE ERROR MESSAGE AT THE END

1 Ответ

0 голосов
/ 07 мая 2019

Вы можете использовать HTML для форматирования сообщения:

JOptionPane.showMessageDialog(
    null, 
    "<html><body><p style='width: 200px;'>LARGE ERROR MESSAGE HERE</p></body></html>");
...