2012-12-01 248 views
1

我在面板上有几个按钮,每次点击它时都会出现输入对话框。它有一个内置的取消按钮。现在,当我点击代码开头的取消按钮而没有在对话框中输入数量时,它会显示“这是一个无效的”数字。该行只有在用户输入字母或符号而不是按下取消时才会出现。我们能解决吗?取消showinputdialogbox中的按钮

+2

*“我们可以解决这个问题吗?”*为了更好地帮助您,请发布[SSCCE](http://sscce.org/)。另请注意,'showinputdialogbox'不是J2SE中的一种方法。 –

+1

顺便说一句 - 可以或者两个认为“这个问题显示研究工作,这是有用的和明确的”解释他们的推理? –

+1

@AndrewThompson robo-reviewers-他们不会回来读你;-) – kleopatra

回答

0

尝试这样做,

String Input = JOptionPane.showInputDialog(null,"Enter the number?", 
    "Number", JOptionPane.QUESTION_MESSAGE);   
if (Input.equals("")) 
{ 
    JOptionPane.showMessageDialog(null,"This is an invalid number"); 
} 

以下链接更好的解释它:Simple Data Validation

+0

这只会检查一个空的String。如海报所要求的那样,“字母或符号”如何? – trashgod

2

首先,您需要一种方法来确定String是否代表数字;下面的方法使用Double.valueOf()来决定。

private Double valueOf(String s) { 
    try { 
     return Double.valueOf(s); 
    } catch (NumberFormatException e) { 
     return null; 
    } 
} 

下面是如何使用的方法的例子:

private void display() { 
    String input = JOptionPane.showInputDialog(
     null, "Enter a number?", "Number", JOptionPane.QUESTION_MESSAGE); 
    Double value = valueOf(input); 
    JOptionPane.showMessageDialog(null, "The value " + input 
     + " is " + (value != null ? "valid" : "invalid") + "."); 
} 

How to Make Dialogs见。

0

字符串输入= JOptionPane.showInputDialog(NULL, “输入号码?”,
“号码”,JOptionPane.QUESTION_MESSAGE); ((“(( - | \ +)?[0-9] +(\。[0-9] +)?)+”))){ JOptionPane.showMessageDialog(null, “有效号码”); } else { JOptionPane.showMessageDialog(null,“This is an invalid number”); }