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 }
何事都只需坚持..
难?
维熟尔。
LZL的自学历程...只需坚持