java 24 - 10 GUI 之 四则预算的数据校验

我想要在校验的过程中,如果输入到操作数中的不是数字,则弹出提醒框:

类 JOptionPane  有助于方便地弹出要求用户提供值或向其发出通知的标准对话框

 

方法名描述
showConfirmDialog 询问一个确认问题,如 yes/no/cancel。
showInputDialog 提示要求某些输入。
showMessageDialog 告知用户某事已发生。
showOptionDialog 上述三项的大统一 (Grand Unification)。

 

 

 

 

 

在设置窗体类添加代码:

 1  private void countActionPerformed(java.awt.event.ActionEvent evt) {                                      
 2         //这里是计算按钮的监听事件
 3         //获取第一个操作数
 4         String FirstNumberString = this.FirstNumber.getText().trim();
 5         
 6         //获取第二个操作数
 7         String SecondNumberString = this.SecondNumber.getText().trim();
 8       
 9         //对输入的第一个操作数进行校验
10         //用正则表达式来判断,输入的是否是数字
11         String s = "\\d+";
12         //matches 比较正则表达式
13         if(!(FirstNumberString.matches(s))){
14             //如果不是数字,则弹出提醒框
15             //JOptionPane类:有助于方便地弹出要求用户提供值或向其发出通知的标准对话框
16             //showMessageDialog 告知用户某事已发生。 
17             JOptionPane.showMessageDialog(rootPane, "第一个操作数不符合条件,必须是整数");
18             //弹出提示框后,把输入的字符给清空
19             this.FirstNumber.setText("");
20             //给光标
21             this.FirstNumber.requestFocus();
22             //然后让程序回去,不能继续走下去
23             return ;
24         }
25         //对输入的第二个操作数进行校验
26         if(!(SecondNumberString.matches(s))){
27               JOptionPane.showMessageDialog(rootPane, "第二个操作数不符合条件,必须是整数");
28               this.SecondNumber.setText("");
29               this.SecondNumber.requestFocus();
30               return;
31         }
32         
33         
34         //转换成整数类
35         int FirstNumber = Integer.valueOf(FirstNumberString);
36         int SecondNumber = Integer.valueOf(FirstNumberString);
37         
38         //获取运算符 getSelectedItem():所选的项目
39         String operator = this.operator.getSelectedItem().toString();
40         
41         //设置个结果变量
42         int result = 0;
43         //根据运算符的不同来进行不同的操作
44         switch(operator){
45             case "+":
46                 result = FirstNumber + SecondNumber;
47                 break;
48             case "-":
49                 result = FirstNumber - SecondNumber;
50                 break;
51             case "*":
52                 result = FirstNumber * SecondNumber;
53                 break;
54             case "/":
55                 result = FirstNumber / SecondNumber;
56                 break;
57         }
58         //把得到的结果赋值到结果文本框
59         this.Result.setText(String.valueOf(result));
60     }

 

posted @ 2016-10-13 22:36  卡拉瓦  阅读(292)  评论(0编辑  收藏  举报