JOptionPane输入对话框如何确定值是2还是JOptionPane.CANCEL_OPTION

时间:2014-03-24 08:42:32

标签: java swing parsing input joptionpane

我使用以下代码获取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 &&notAllowed)
            notAllowed=false;
    }
    catch( Exception err)
    {}
    if(notAllowed)
        c = JOptionPane.showInputDialog("Only Numbers between 1 and 100 are allowed");
    }

现在,如果使用类型数字2,则单击取消按钮,因为JOptionPane.CANCEL_OPTION的值也是2。 那么我怎样才能知道是否点击了取消或输入值是否为2。

1 个答案:

答案 0 :(得分:2)

如果用户点击取消,则JOptionPane返回null。否则返回值。 我想出了这个小例子:

public class JOptionPaneTest {

    public static void main(String[] args) {
        Object obj = JOptionPane.showInputDialog(null, "test", "test-text");
        System.out.println(obj);
    }

}