java - 如果 JTextField 为空,则抛出错误

标签 java swing exception

我正在尝试编写一个 try catch block ,如果用户没有输入名称而只是按 enterokay 我似乎有问题是因为它不会抛出任何内容,它只是接受空白并继续。有人能帮我吗?预先感谢!

这是函数:

public String setOwnerName() {
        boolean isName = false;

        while(!isName) {
            try {
                this.ownerName = JOptionPane.showInputDialog(null, "Enter the account owner's name.", "Owner's Name", JOptionPane.PLAIN_MESSAGE);
                if(this.ownerName != "") {
                    isName = true;  
                }
            } catch(IllegalArgumentException e) {
                JOptionPane.showMessageDialog(null, "Error you did not enter a name, please try again.", "Error", JOptionPane.ERROR_MESSAGE);
            }
        }
        return this.ownerName;
    }

最佳答案

空名称不会引发异常。您需要手动检查它。尝试一下,

public String setOwnerName() {
  boolean isName = false;

while(!isName) {               
 ownerName = JOptionPane.showInputDialog(null, "Enter the account owner's name.",
               "Owner's Name", JOptionPane.PLAIN_MESSAGE);

  if(ownerName.trim().isEmpty()){
    JOptionPane.showMessageDialog(null,
        "Error you did not enter a name, please try again.", 
       "Error", JOptionPane.ERROR_MESSAGE);
  }
  else{
      isName = true;
      }               
   }// end of while

    return ownerName;
}

关于java - 如果 JTextField 为空,则抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20210464/

相关文章:

java - Spring-Retry 断路器会移动以恢复代码,在出现异常时无需任何重试尝试

java - Maven 无法转换为 javax.servlet.Filter

java - AbstractTableModel 删除行不起作用

使用 Swing 的 Java 聊天应用程序(概念)

android - 在android中找不到列item_name

ruby - 为什么 ruby 不引发异常?

java - 访问 CDI SessionScoped bean 在 Java 8 并行流中不起作用

java - spring 中的构造函数注入(inject)如何促进不变性?

java - OSX : JavaVM, AWT/Swing 和可能的死锁

iOS - 在 main() 中捕获异常