Java - JOptionPane.InputDialog - 如果用户没有输入并点击OK,该怎么办?

时间:2010-10-04 21:39:34

标签: java swing joptionpane

好吧,我正在尝试创建一种检测用户是否输入任何内容并点击“确定”的方法。

例如,如果用户单击“取消”,我将使用以下代码中断while循环:

if (words[i] == null) break; //breaks out of while loop

我尝试了一些用户单击“确定”的内容:

else if (Character.isDigit(words[i].charAt(0)) && words[i].charAt(0) == JOptionPane.OK_OPTION) break;

如果用户单击“确定”但没有骰子,则突破循环。我得到了这个例外:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(Unknown Source)
at Project1.main(Project1.java:21)

OK_OPTION的类型为int,这就是我转换为int的原因。有没有人对我如何做到这一点有任何想法?

我发现此帖有关“取消”按钮,但没有关于“确定”按钮。谢谢!

1 个答案:

答案 0 :(得分:1)

当用户输入没有输入并且命中没问题时,你的程序仍然将字符串存储在你的单词数组中,字符串恰好是空白的。检查字符串是否为空的简单方法是检查其长度,因此您想要的代码如下所示:

// break if user enters blank input
if( words[i].length() == 0 ) break;