2015-12-16 34 views
0

因此,我正在制作一个小程序来登录。我有4种表格,需要填写,如果你点击按钮登录,那么我想检查表格是否填写,如果没有,你会得到一个消息,说明你仍然需要填写哪种表格。我想到了2这样做的方法。一个比另一个更容易的方法。 最简单的办法:检查数组中的一个或多个字符串是否为空/ enum

static String [] Check = {SendMail.FEText, SendMail.FWText, SendMail.TEText, SendMail.TWText}; 

    public static boolean fullFilled() { 
     for (String s: Check) { 
      if (s.equals("")) { 
       JOptionPane.showMessageDialog(null, "Je bent vergeten om iets in te vullen.", "Vergeten", JOptionPane.ERROR_MESSAGE); 
       return false; 
      } else { 
       return true; 
      } 
     } 
     return false; 
    } 

和另一个的enum,但我不知道如何完成这一点:

public enum Check { 
     FACEBOOK_EMAIL("FaceBook emailadres", SendMail.FEText), 
     FACEBOOK_WACHTWOORD("FaceBook wachtwoord", SendMail.FWText), 
     TOTO_EMAIL("Toto emailadres", SendMail.TEText), 
     TOTO_WACHTWOORD("Toto wachtwoord", SendMail.TWText); 

     public String formName; 
     public String stringName; 

     Check(String formName, String stringName) { 
      this.formName = formName; 
      this.stringName = stringName; 
     } 

    } 

    public static boolean fullFilled() { 
     for (String s: Check) { 
      if (s.equals("")) { 
       JOptionPane.showMessageDialog(null, "Je bent vergeten om " + s.formName + "iets in te vullen.", "Vergeten", JOptionPane.ERROR_MESSAGE); 
       return false; 
      } else { 
       return true; 
      } 
     } 
     return false; 
    } 

我想说的“济在vergeten弯曲OM脸谱emailadres消息te vullen“。如果您忘记填写facebookemail(FEText)

+0

'for(Check check:Check.values())'? – Tunaki

+0

uhm。我不知道如何使用枚举;( – xX4m4zingXx

+1

什么是实际问题? –

回答

0

您可以迭代该枚举的所有值,然后针对每个值检查stringName是否为空。如果是,则将其添加到messageBody,并在对话框中显示它,如果它不是空的。

请注意,下面的检查忽略了所有的空白,这可能是你想要的。

public static boolean fullFilled() { 
    String messageBody = ""; 
    for (Check check: Check.values()) { 
     if (check.stringName.trim().isEmpty()) { 
      messageBody = messageBody + "Je bent vergeten om " + check.formName + "iets in te vullen." + "\n"; 
     } 
    } 
    if(!messageBody.trim().isEmpty()){ 
     JOptionPane.showMessageDialog(null, messageBody, "Vergeten", JOptionPane.ERROR_MESSAGE); 
     return false; 
    } 
    return true; 
} 
+0

我会我一接到我的电脑就检查一下,谢谢 – xX4m4zingXx

+0

我这样做了,但是当我填写第一个表格时,它说我没有填写第一个表格,我认为这是发生的,因为它检查如果其中一个表单是空的,如果这是真的,那么它总是返回与第一个formName。有没有办法让它返回未填充的表单的表单? – xX4m4zingXx

+0

我只是把你的算法并改变它支持枚举我没有麻烦检查逻辑有一个错误 - 它基本上只检查第一个表单字段,我已经纠正了这一点我不确定你在问什么您想列出同一个dialo中的所有空白字段吗? g消息? –

相关问题