我想确保用户输入的数据不是字符串,如果它显示消息!
String number = JOptionPane.showInputDialog("Enter a number : ",null);
这里有关于我正在做什么的更多信息
String guess = JOptionPane.showInputDialog("Enter Your Guess Number : ",null);
if((Integer.parseInt(guess) < 1))
{
JOptionPane.showMessageDialog(null,"Enter a number Greater than 0!");
JOptionPane.showMessageDialog(null, "you won 1,000 $", "winner!"
, JOptionPane.INFORMATION_MESSAGE);
}
答案 0 :(得分:2)
您可以通过解析用户输入的值来实现它,如果它不是有效数字,则使用JOptionPane.showMessageDialog
显示错误对话框。 E.g。
String number = JOptionPane.showInputDialog("Enter a number : ",null);
boolean isValidNumber = false;
try {
System.out.println(Integer.parseInt(number));
isValidNumber = true;
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(new JPanel(), "Invalid number", "Error", JOptionPane.ERROR_MESSAGE);
}
答案 1 :(得分:2)
如果你期望一个整数,那就应该这样做
boolean isInteger = false;
try {
int foo = Integer.parseInt(number);
isInteger = true;
} catch (NumberFormatException) {
// it's not a integer, handle the exception
}
答案 2 :(得分:1)
另一种方法是在关闭选项窗格之前验证输入的值是否为数字。
阅读Stopping Automatic Dialog Closing上Swing教程中的部分,了解一种方法,可以在关闭对话框之前验证输入的文本。