JOptionPane取消按钮无法正常工作

时间:2015-05-08 11:21:07

标签: java swing user-interface jframe joptionpane

我正在使用JOptionPane。当用户点击 ok 按钮时,它非常有用,但是当点击 cancel 按钮时,当关闭消息时,它也会显示错误消息。

private void findActionPerformed(java.awt.event.ActionEvent evt) {                                     

    try {
        String num = JOptionPane.showInputDialog("Number to Search:");
        int number = Integer.parseInt(num);
        s.search(number);
   }catch (Exception e) {
        JOptionPane.showMessageDialog(this, "WRONG INPUT: you must insert integers", "Erorr", JOptionPane.ERROR_MESSAGE);
    } 
} 

1 个答案:

答案 0 :(得分:0)

使用

private void findActionPerformed(java.awt.event.ActionEvent evt) {                                     

    try {
        String num = JOptionPane.showInputDialog("Number to Search:");
        if(num != null)
        { 
            int number = Integer.parseInt(num);
            s.search(number);
        }
    }catch (Exception e) {
        JOptionPane.showMessageDialog(this, "WRONG INPUT: you must insert integers", "Erorr", JOptionPane.ERROR_MESSAGE);
    } 
} 
当一个人关闭它或按下取消时,

JOptionPane会返回null。所以只需检查一下上面的代码即可。当您将null传递给Integer.parseInt()时会抛出异常。