Если, еще с несколькими ограничениями и функцией диалогового сообщения - PullRequest
0 голосов
/ 01 ноября 2019

Я работаю над кодом в Eclipse с Swing, и у меня есть функция long-ish if, else, с которой у меня проблемы. Итак, я как бы забыл о вложенных функциях if, else и сделал все if разделенными, что, конечно, возвращает только последнее if как true. Я хочу, чтобы функция else учитывала множественные ограничения, но как мне это сделать, когда каждое «если» имеет свое собственное диалоговое сообщение, которое всплывает?

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

btnSubmit = new JButton("Submit");  
            btnSubmit.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent arg0) {
                    JFrame frmregistration_test = new JFrame("Submit");
                    if (p1.getText().isEmpty())
                    {
                        JOptionPane.showMessageDialog(null, "Password Field field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
                    }

                    if (p2.getText().isEmpty())
                    {
                        JOptionPane.showMessageDialog(null, "Confirm password Field field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
                    }


                    if (p1 != null && p2 != null) {
                    if (!Arrays.equals(p1.getPassword(), p2.getPassword())) 
                    {   
                           JOptionPane.showMessageDialog(null, "Passwords do not match.", "Woops", JOptionPane.ERROR_MESSAGE);


                    }
                    if (txtname.getText().isEmpty())
                    {
                        JOptionPane.showMessageDialog(null, "Name field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
                    }
                    if (txtDOB.getText().isEmpty())
                    {
                        JOptionPane.showMessageDialog(null, "DOB field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
                    }
                    if (txtNum.getText().isEmpty())
                    {
                        JOptionPane.showMessageDialog(null, "Phone Number field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
                    }
                    if (txtState.getText().isEmpty())
                    {
                        JOptionPane.showMessageDialog(null, "State field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
                    }
                    if (txtid.getText().isEmpty())
                    {
                        JOptionPane.showMessageDialog(null, "Email Field field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);

                    }


                    else 

                        JOptionPane.showMessageDialog(null, "Registered Successfully", "Login Warning", JOptionPane.WARNING_MESSAGE);
                    }



                }});

1 Ответ

0 голосов
/ 04 ноября 2019

Любая причина, почему простое использование else if не сработает?

btnSubmit = new JButton("Submit");  
btnSubmit.addActionListener(new ActionListener() 
{
    public void actionPerformed(ActionEvent arg0) 
    {
        JFrame frmregistration_test = new JFrame("Submit");

        if (p1.getText().isEmpty())
        {
            JOptionPane.showMessageDialog(null, "Password Field field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
        }

        else if (p2.getText().isEmpty())
        {
            JOptionPane.showMessageDialog(null, "Confirm password Field field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
        }    

        else if (p1 != null && p2 != null) 
        {
            if (!Arrays.equals(p1.getPassword(), p2.getPassword())) 
            {   
                JOptionPane.showMessageDialog(null, "Passwords do not match.", "Woops", JOptionPane.ERROR_MESSAGE);
            }

            else if (txtname.getText().isEmpty())
            {
                JOptionPane.showMessageDialog(null, "Name field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
            }

            else if (txtDOB.getText().isEmpty())
            {
                JOptionPane.showMessageDialog(null, "DOB field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
            }

            else if (txtNum.getText().isEmpty())
            {
                JOptionPane.showMessageDialog(null, "Phone Number field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
            }

            else if (txtState.getText().isEmpty())
            {
                JOptionPane.showMessageDialog(null, "State field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
            }

            else if (txtid.getText().isEmpty())
            {
                JOptionPane.showMessageDialog(null, "Email Field field must be filled in", "Login Warning", JOptionPane.WARNING_MESSAGE);
            }

            else 
            {
                JOptionPane.showMessageDialog(null, "Registered Successfully", "Login Warning", JOptionPane.WARNING_MESSAGE);
            }
        }    
    }
});
...