JavaSwing输入对话框,点击取消抛出异常的解决方法

在做产品管理系统的时候,遇到一个问题:

在得到一个输入框对话框的时候 String textPrice = JOptionPane.showInputDialog("请输入要调整的价格增(减)量");

如果此时点击取消,则会抛出异常:java.lang.NullPointerException。

原因:点击取消不会产生String对象。

解决方法:

 1                 double price = 0;
 2                 String textPrice = JOptionPane
 3                         .showInputDialog("请输入要调整的价格增(减)量");
 4
 5                 if (textPrice == null) {
 6                     return;
 7                 }
 8                 else if(textPrice.equals("")){
 9                     JOptionPane.showMessageDialog(null, "请输入要调整的价格增(减)量","提示信息",JOptionPane.ERROR_MESSAGE);
10                     return ;
11                 }
12                 else{
13                     try {
14                         price = Double.parseDouble(textPrice);
15                         if (pid.changePrice(price)) {
16                             JOptionPane.showMessageDialog(null, "价格调整完成!");
17                         }
18                     } catch (Exception e1) {
19                         JOptionPane.showMessageDialog(null, "输入有误!");
20                     }
21
22                 }
23             }

时间: 2024-08-25 20:55:46

JavaSwing输入对话框,点击取消抛出异常的解决方法的相关文章

Mysql 时间格式默认空串 '0000-00-00 00:00:00' select抛出异常的解决方法

Mysql 时间格式默认插入值为空时,会以'0000-00-00 00:00:00'填充,这时如果select时会抛出SQLExecption如下: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp 解决方法如下: 方法一:jdbc的url加zeroDateTimeBehavior参数: datasource.url=jdbc:mysql://localh

Android ListView的item点击无响应的解决方法

如果listitem里面包括button或者checkbox等控件,默认情况下listitem会失去焦点,导致无法响应item的事件,最常用的解决办法 是在listitem的布局文件中设置descendantFocusability属性. item的布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.andro

TIPTOP 4gl画面档输入负数却显示为正数的解决方法

最近在正常使用中,遇到一个很奇怪的问题,就是在aglt110中金额栏位输入负数时却显示为正数,搞鼓了一上午,又是查看源代码,又是修改画面档,又是查看系统参数, 但是还是没有解决,问题如下图: 解决方法: 后来经过仔细观察发现,原来本币金额这个栏位,是有应用画面档格式化的,就是三位三位一逗号,去到画面元件设置界面果然发现了问题所在: 后来试着把格式去掉,果真解决了问题: 再到程式去输入金额看看结果: 目前到此,好像已经满足了我们之前的要求:输入负数能正常显示,但是财务又要求:还是要三位一逗号的方式

EasyUI带选择框的DataGrid实现点击行&quot;不选中或取消选中&quot;的解决方法。

1 var IsCheckFlag = true; //标示是否是勾选复选框选中行的,true - 是 , false - 否 2 $("#dg").datagrid({ 3 rownumbers:true, 4 url: 'LeadsData.ashx?o=list', 5 method:'get', 6 fit: true, 7 striped:true, 8 pagination: true, 9 fitColumns: true, 10 checkOnSelect: false

EasyUI带选择框的DataGrid实现点击行"不选中或取消选中"的解决方法

var IsCheckFlag = true; //标示是否是勾选复选框选中行的,true - 是 , false - 否  $("#dg").datagrid({      rownumbers:true,      url: 'LeadsData.ashx?o=list',      method:'get',      fit: true,      striped:true,      pagination: true,      fitColumns: true,     c

CentOS输入正确帐号密码不能登陆解决方法

异常描述:CeontOS_x86_64服务器,SSH可以正常登陆,机房操作人员通过HP-KVM登陆,在输入正确账号密码后重写返回登陆界面,且没有任何提示,输入错误的账号密码则提示密码错误! 且这种异常只发生在部分AP server上,oracle DBserver上则没有出现过. 怀疑对象为:CentOS安全认证PAM,经比对发现的确如此! 在APserver的/etc/pam.d/login文件中加入 session    required    /lib64/security/pam_lim

selenium webdriver + junit 鼠标悬停,出现另一个元素,点击这个元素的解决方法

转载自http://blog.csdn.net/hcx1234567/article/details/17605533 经千辛万苦,终于解决了 UI TA(test automation) 中的这个难题,必须记录一下. 前提是:需要测试的这个页面是用 google 的 angularjs 写的.许多页面效果是用 angularjs 自带的一些事件结合 css hover实现的.测试的 UI TA 框架用的是 selenium webdriver + junit . 问题是:页面上有一个效果:点击

Oracle 数据库中在使用中文模糊查询时输入中文查询不到结果的解决方法

添加环境变量 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

Android实例-手机安全卫士(十一)-自定义对话框点击事件处理

一.目标 在弹出的自定义对话框中,当点击“确认”时,保存密码,关闭对话框:当点击“取消”时关闭对话框.同时,如果不输入密码或输入密码错误则弹出相应的提示. 二.代码实现. 1.在主界面代码类(HomeActivity)中定义设置防盗密码对话框中的对应TextView.Button等成员变量,并在显示设置防盗密码对话框方法(showSetPwdDialog)中通过view.findViewById方法找到对应的组件: 2.为“取消”按钮设置取消操作的监听事件并进行处理.通过setOnClickLi