【问题标题】:Multiple textfields with one joptionpane [duplicate]带有一个joptionpane的多个文本字段[重复]
【发布时间】:2016-08-23 09:46:08
【问题描述】:

我希望用户输入 4 项内容(名字、姓氏、电子邮件和电话号码),如果他错过了一项或多项,只会显示一个 JOptionPane 窗口。

 String firstname = TF_1.getText();
 String lastname = TF_2.getText();
 String email = TF_3.getText();
 String phonenumber = TF_4.getText();


 if (TF_1.equals("") ||
     TF_2.equals("") ||
     TF_3.equals("") ||
     TF_4.equals("")) {

 JOptionPane.showMessageDialog(null, "All text fields must be filled");

【问题讨论】:

  • 你当然应该比较文本而不是字段(例如firstname.equals("")
  • 就我个人而言,我对消息对话框感到恼火。当提交按钮被取消激活直到所有文本字段都被填满时,我更喜欢它。但那是口味问题。我想知道你在这里的实际问题是什么?
  • tutorial:“如果你想在关闭对话框之前检查用户的回答怎么办?”

标签: java swing


【解决方案1】:

就我个人而言,第一件事是我不喜欢所有字段都使用一条通用消息,这会使用户对他们未填写的内容感到困惑。您可以使用一个流程来逐一检查所有字段,如果字段为空,则显示错误并从其返回。

第二次检查字符串字段 firstname、lastname 等不在 TF_1 上。

public boolean isEmpty(String... fields)
    {
        for (String string : fields)
        {
            if (null == string || string.trim().length() == 0)
            {
                // return true of filed is blank
                return true;
            }
        }
        return false;
    }

您可以使用此方法并传递所有字段以检查它们是否为空。

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2022-01-09
    • 2015-03-25
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 1970-01-01
    • 2020-03-21
    相关资源
    最近更新 更多