showinputdialog框中的取消按钮

时间:2012-12-01 07:45:03

标签: java swing

我的面板上有几个按钮,每次点击它都会出现一个输入对话框。它有一个内置的取消按钮。现在,当我单击代码开头的取消按钮而不在对话框中输入数量时,它会显示“这是一个无效的”数字。此行必须仅在用户输入字母或符号时显示,而不是在按取消时显示。我们能解决这个问题吗

3 个答案:

答案 0 :(得分:2)

首先,你需要一种方法来决定String是否代表一个数字;以下方法使用Double.valueOf()来决定。

private Double valueOf(String s) {
    try {
        return Double.valueOf(s);
    } catch (NumberFormatException e) {
        return null;
    }
}

以下是您可以使用该方法的示例:

private void display() {
    String input = JOptionPane.showInputDialog(
        null, "Enter a number?", "Number", JOptionPane.QUESTION_MESSAGE);
    Double value = valueOf(input);
    JOptionPane.showMessageDialog(null, "The value " + input
        + " is " + (value != null ? "valid" : "invalid") + ".");
}

另见How to Make Dialogs

答案 1 :(得分:0)

尝试做,

String Input = JOptionPane.showInputDialog(null,"Enter the number?",
    "Number", JOptionPane.QUESTION_MESSAGE);        
if (Input.equals(""))
{
    JOptionPane.showMessageDialog(null,"This is an invalid number");
}

以下链接更好地解释了它:Simple Data Validation

答案 2 :(得分:0)

  

String Input = JOptionPane.showInputDialog(null,“输入数字?”,
  “Number”,JOptionPane.QUESTION_MESSAGE);
      如果   (Input.matches((“(( - | \ +)?[0-9] +(\。[0-9] +)?)+”))){       JOptionPane.showMessageDialog(null,“有效数字”);    }    其他{    JOptionPane.showMessageDialog(null,“这是一个无效的数字”);   }