JAVAFX - 如何保持现阶段

时间:2017-01-03 16:52:08

标签: java javafx stage

我有一个问题。我有注册表,我试图抓住一些例外。例如,如果用户键入空字段,它应该通过joptionpane说你没有填写所有字段。多数民众赞成,但在我按下回车后,申请仍在继续。所以在我的数据库中,我可以看到我没有填写名称或密码。在按下JOption上的输入后,是否有一些选项可以保持javafx的当前阶段?

代码在这里(注册方法):

String jmeno = reg_jmeno.getText();
    String heslo1 = reg_heslo.getText();
    String heslo2 = reg_heslo2.getText();
    String email = reg_mail.getText();
    String vek = reg_vek.getText();

    if (jmeno.equals("") || email.equals("") || vek.equals("") || heslo1.equals("") || heslo2.equals("")) {
        JOptionPane.showMessageDialog(null, "Nezadali jste některé z uvedených polí.", "Neúspěšná registrace", JOptionPane.ERROR_MESSAGE);
        System.exit(0);
    }

    try {
        if(vek.length()>4) {
            JOptionPane.showMessageDialog(null,"Příliš vysoký věk.");
            try {
                Stage x = new Stage();
                this.loginWindow(x);
            } catch (Exception eplz2) {
                JOptionPane.showMessageDialog(null, "Chyba aplikace.");
            }

        }
    } catch (NumberFormatException nfe) {
        JOptionPane.showMessageDialog(null,"Neplatný formát čísla.");
    }

1 个答案:

答案 0 :(得分:0)

我认为你的代码是无序的

 String jmeno = reg_jmeno.getText();
String heslo1 = reg_heslo.getText();
String heslo2 = reg_heslo2.getText();
String email = reg_mail.getText();
String vek = reg_vek.getText();


if (jmeno.equals("") || email.equals("") || vek.equals("") || heslo1.equals("") || heslo2.equals("")) {
    JOptionPane.showMessageDialog(null, "Nezadali jste některé z uvedených polí.", "Neúspěšná registrace", JOptionPane.ERROR_MESSAGE);
    System.exit(0);
}else
{
    try
    {
       if(vek.length()>4) {
        JOptionPane.showMessageDialog(null,"Příliš vysoký věk.");
       }else
       {
         try {
            Stage x = new Stage();
            this.loginWindow(x);
        } catch (Exception eplz2) {
            JOptionPane.showMessageDialog(null, "Chyba aplikace.");
        }

       }               
    }
}