输入对话框将显示项目的当前库存。我希望用户通过整数输入项目的新馆藏。
如果用户关闭或取消输入对话框WHILST在输入文本字段中也没有任何内容,我想返回主菜单。即使用户在输入文本字段中有某些内容,也会发生这种情况。
如果用户输入字符串,将捕获数字格式异常,系统将提示用户仅输入数字。
如果输入为空,并且用户单击“确定”,则会显示一个消息对话框,并告知用户您需要输入一个数字。
目前,我发现很难将这些方法实现到我的输入对话框中。
这是我的代码:
int newInput = Integer.parseInt(JOptionPane.showInputDialog(null, "Your current holdings are: "
+ currentHoldings, "Edit Holdings", JOptionPane.CANCEL_OPTION));
//Currently, when closing the program if newInput is empty
//It goes straight to the number format exception
//I need the program closed if the user closes it.
if (newInput == JOptionPane.CLOSED_OPTION)
{
JOptionPane.getRootFrame().dispose();
break;
}
...
catch (NumberFormatException nfe)
{
JOptionPane.showMessageDialog(null, "Please enter in a number!");
}
即使文本字段为空并且用户通过红叉或取消按钮关闭,数字格式异常仍会抛出。即使文本字段中没有任何内容,我也希望程序关闭。
如何检查用户是否在输入对话框文本字段中输入了任何内容?我目前发现很难实现这个功能。
我的问题是,如果用户输入为空并且关闭输入对话框,如何更好地管理输入对话框以处理退出按钮。
感谢您的帮助。
答案 0 :(得分:0)
你可以这样做:
String code = JOptionPane.showInputDialog(null, "Your current holdings are: "
+ currentHoldings, "Edit Holdings", JOptionPane.CANCEL_OPTION);
if (code == null){ //cancel button or "x" button
}
else if ("".equals(code)){ //don't input anything and click ok
}
else {
//parse code to int and do what you want
}