验证输入对话框

时间:2011-03-01 16:42:28

标签: java swing joptionpane

嗨,我觉得相当愚蠢,因为我应该能够这样做,但我做不到!我还检查了网络和我的书中的一些简单的东西(或者我可以看到)。

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

  1. 它不是空白
  2. 它不包含数字或特殊字符,例如/><。!“£$%^& *()
  3. 如果它没有通过任何这些测试来重新显示盒子以便他们必须这样做,那么这是一件非常简单的事情,但我无法解决这个问题:(

    我的愚蠢!感谢您提前获得任何帮助,我们已经做好了准备!

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

就像你描述的那样。显示对话框并检查结果。如果无效则再次显示该对话框。

可能想要使用do while循环或类似的东西总是循环一次。此外,您还需要使用正则表达式来验证不存在特殊字符。