不知道该如何处理JOptionPane.showInputDialog对话框中的取消事件

wang19841229 2007-02-08 10:35:29
JOptionPane.showInputDialog()方法是显示一个可以输入的对话框,我想实现的目的是接受输入的值然后连接数据库做查询,但是问题是如果用户没有输入值而且是点了取消按扭,系统就抛出一个java.lang.NullPointerException
异常,不知道如何解决.如果是用try catch捕获的话catch子句该如何处理.可是我不想让他抛出异常,不知道该怎么办
代码如下:


String strid = JOptionPane.showInputDialog("请输入ID");

if (strid.equals("") || strid == null)
{
JOptionPane.showMessageDialog(null,"请输入ID","提示信息",JOptionPane.ERROR_MESSAGE);
return;
}
//后面是连数据库的代码省略了
...全文
3082 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
城江再歌山 2011-08-04
  • 打赏
  • 举报
回复
不过我又看了下,发现只要“==”和“equals()”的顺序正确(即先“==”后 equals),那么equals下的那个 return; 貌似就可以不要了。
城江再歌山 2011-08-04
  • 打赏
  • 举报
回复
是啊,showInputDialog的点击“取消”和点击“关闭”事件所引起的空指针异常就这样搞定了。嘿嘿
剑若成风 2011-07-29
  • 打赏
  • 举报
回复 1
我刚在培训班学java一个月,还没学到异常处理,今天在做一个防沉迷验证小程序,功能差不多实现,就是点对话框的取消或者右上角的叉叉或者按键盘上的Esc时,就会抛出空指针异常,百思不得其解,下课回来上网查,终于在这里找到一个解决办法,了结心中困惑,实在快意,感谢之心溢于言表!
wang19841229 2007-02-09
  • 打赏
  • 举报
回复
问题解决了
取消事件是不会产生String 对象的
所以应这样写
String strid = JOptionPane.showInputDialog("请输入ID");
if(strid == null)
{
return;
}
if (strid.equals("") )
{
JOptionPane.showMessageDialog(null,"请输入ID","提示信息",JOptionPane.ERROR_MESSAGE);
return;
}
ACCPY111 2007-02-09
  • 打赏
  • 举报
回复
哈哈,不好意思有的,前面没看到
public static String showInputDialog(Object message)
throws HeadlessException
这样你先打印出来看返回值是什么,然后再做判断。
ACCPY111 2007-02-09
  • 打赏
  • 举报
回复
JOptionPane.showInputDialog(String str)有这个方法,你先好好看看API吧
gtlang78 2007-02-08
  • 打赏
  • 举报
回复
写反了,应该是
if (strid == null || strid.equals(""))

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧