我使用下面的代码来获取一个InputDialog:
String c = JOptionPane.showInputDialog("Select number",JOptionPane.OK_OPTION);
我还希望用户只使用0到100之间的IntegerValues。我用下面的代码来处理这个问题:
while(notAllowed){
try{
int t =Integer.parseInt(c);
if(t==JOptionPane.CANCEL_OPTION)
{
notAllowed=false;
cancel=true;
}
if(t<=100 && t>0 &¬Allowed)
notAllowed=false;
}
catch( Exception err)
{}
if(notAllowed)
c = JOptionPane.showInputDialog("Only Numbers between 1 and 100 are allowed");
}
现在,如果用户键入数字2,就像点击取消按钮,因为JOptionPane的值。CANCEL_OPTION也是2。那么我怎么能发现如果取消被点击或输入值是2。
如果用户单击cancel, JOptionPane返回null。否则将返回该值。我用这个小例子来说明这个问题:
public class JOptionPaneTest {
public static void main(String[] args) {
Object obj = JOptionPane.showInputDialog(null, "test", "test-text");
System.out.println(obj);
}
}