我使用以下代码来获取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。
最佳答案
如果用户单击“取消”,JOptionPane 将返回 null。否则该值将被返回。 我用这个小例子发现了这一点:
public class JOptionPaneTest {
public static void main(String[] args) {
Object obj = JOptionPane.showInputDialog(null, "test", "test-text");
System.out.println(obj);
}
}
关于java - JOptionPane 输入对话框如何决定值是 2 还是 JOptionPane.CANCEL_OPTION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22604547/