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