【问题标题】:How to check for empty text field?如何检查空文本字段?
【发布时间】:2015-02-03 15:42:55
【问题描述】:

我正在构建一个工具来为使用 Java Swing 的某些设备生成用于集成的命令脚本。所以基本上该工具会在一些文本字段中获取用户输入,然后使用用户变量构建所需的命令。

在我的脚本结束时,我通过执行以下操作在文本区域 (textOut) 中显示命令:

command = "add user " + textUser.getText() + " Gender " + textGender.getText();
                textOut.setText(command);

这给了我这样的命令:

add user Tom Gender Male

我已成功运行该工具并在不同的行中提供所需的输出命令,但现在例如,如果 Gender 字段是可选的并且用户将其留空,我也想将其从输出命令中删除,因为现在如果该字段为空,则给出以下输出:

add user Tom Gender

我希望它看起来像这样

add user Tom

知道如何检查文本字段是否为空(我找到了一些方法来检查值是否为空)?我还需要根据这个改变输出命令。

【问题讨论】:

  • 我刚刚想到了一种可能的方法,但我觉得它有点笨:) 我可以使用命令固定文本创建不同的变量吗?如果相应的文本字段为空,我应该将此变量设置为null 就像创建一个值为“添加用户”的变量用户没有输入名称我可以将此变量设置为 null 并输出变量而不是引用的文本“添加用户”有更好的方法吗?
  • 这和 JavaScript 有什么关系?

标签: java swing jtextfield string


【解决方案1】:

我假设你想要 Java 解决方案(尽管你的标题是 Javascript):

    final StringBuilder command = new StringBuilder();

    command
        .append("add user ")
        .append(textUser.getText());

    final String gender = textGender.getText();

    if(gender != null && !gender.equals("")) {
        command
            .append(" Gender ")
            .append(gender);
    }

    textOut.setText(command.toString());

【讨论】:

    【解决方案2】:

    您也可以使用 Apache Commons StringUtils.isEmpty() 来检查 String 是否为空

    【讨论】:

      【解决方案3】:

      只需创建一个if 子句:

      command = "add user " + textUser.getText();
      if (!textUser.getText().equals(""))
          command += " Gender " + textGender.getText();
      
      textOut.setText(command);
      

      【讨论】:

        【解决方案4】:

        如果textUserJTextField,您可以像这样检查textUser.getText().isEmpty()(textUser.getText().length() == 0)

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-12-28
          • 2014-07-28
          • 1970-01-01
          • 2012-12-29
          • 2016-11-04
          • 1970-01-01
          • 2021-07-01
          • 1970-01-01
          相关资源
          最近更新 更多