Java - JOptionPane.InputDialog - 如果用户未输入任何内容并单击“确定”怎么办?

标签 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):

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 的原因。有人知道我该怎么做吗?

我找到了这篇关于“取消”按钮的帖子,但没有找到关于“确定”按钮的帖子。谢谢!

最佳答案

当用户未输入任何内容并点击确定时,您的程序仍在将字符串存储在单词数组中,该字符串恰好为空白。检查字符串是否为空的一种简单方法是检查其长度,因此您想要的代码可能如下所示:

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

关于Java - JOptionPane.InputDialog - 如果用户未输入任何内容并单击“确定”怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3859355/

相关文章:

java - 如何自动点击JOptionPane的OK

java - 无法找到默认 Activity 类名称

java - 是否有可能 "reset"一个 MigLayout

java - 如何将 actionperformed 应用于 java 中的 Jtextfields?

java - 在单个 JOptionPane 中显示多个 System.out.print?

java - JOptionPane 使用 GraphicsDevice 显示 JFrame 外部

java - JLabel 上的鱼眼效果

java - android中的类似功能SwingUtilities.invokeLater?

java - 如果我不使用 SwingUtilities.invokeLater 怎么办?

java - 制作带有菜单的弹出窗口