java - 验证输入对话框

标签 java swing joptionpane

嗨,我觉得问这个问题很愚蠢,因为我应该能够做到,但我做不到!我也在网上和我的书中查过,对于这么简单的事情,什么都没有(或者我能看到)。

我想做的是向用户展示 JOptionPane.showInputDialog(null,... 并检查

  1. 不是空白
  2. 它不包含数字或特殊字符,如/><.!"£$%^&*()

如果这些测试中的任何一个都无法重新显示盒子,那么他们必须这样做,呃,这是一件很简单的事情,但我就是无法解决:(

请可怜我的愚蠢!感谢您提前提供的任何帮助!

最佳答案

有一个显示输入对话框的方法,验证输入并在输入正确时返回输入,否则它会调用自身重复该过程直到输入有效。像这样:

private String showInputDialog()
{
    String inputValue = JOptionPane.showInputDialog("Please input something");

    if(inputValue == null || inputValue.isEmpty() || !inputValue.matches("[A-Za-z]*"))
    {
        inputValue = showInputDialog();
    }

    return inputValue;
}

其中 !inputValue.matches("[A-Za-z]*") 将触发除 a 到 z 任意数量的大写或小写字母以外的任何输入。

然后从您的代码中调用它并使用返回值做任何您想做的事情。

String input = showInputDialog();
System.out.println(input);

关于java - 验证输入对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5157482/

相关文章:

java - 在Java中将文本调整为物理尺寸(标准8.5"x 11"信纸)

java - 在运行时更改 Java Swing 主题会导致 JTable 错误

java - 将 JOptionPane 与 Xtend 结合使用

Java-Swing;进度条

java - 如何将 uint8_t * 转换为 jbyteArray jni android

java - JobBuilderFactory.get(job).incrementer(RunIdIncrementer)的作用是什么?

java - 将 Java 图形呈现为 HTML

java - 在 Camel 上下文中访问 JVM 选项

java - 需要帮助解释用 java 制作的电影节目的座位

java - 在 JOptionPane 中打印数组