java 24 - 10 GUI 之 四则预算的数据校验
我想要在校验的过程中,如果输入到操作数中的不是数字,则弹出提醒框:
类 JOptionPane 有助于方便地弹出要求用户提供值或向其发出通知的标准对话框
| 方法名 | 描述 |
|---|---|
| showConfirmDialog | 询问一个确认问题,如 yes/no/cancel。 |
| showInputDialog | 提示要求某些输入。 |
| showMessageDialog | 告知用户某事已发生。 |
| showOptionDialog | 上述三项的大统一 (Grand Unification)。 |
在设置窗体类添加代码:
private void countActionPerformed(java.awt.event.ActionEvent evt) {
//这里是计算按钮的监听事件
//获取第一个操作数
String FirstNumberString = this.FirstNumber.getText().trim();
//获取第二个操作数
String SecondNumberString = this.SecondNumber.getText().trim();
//对输入的第一个操作数进行校验
//用正则表达式来判断,输入的是否是数字
String s = "\\d+";
//matches 比较正则表达式
if(!(FirstNumberString.matches(s))){
//如果不是数字,则弹出提醒框
//JOptionPane类:有助于方便地弹出要求用户提供值或向其发出通知的标准对话框
//showMessageDialog 告知用户某事已发生。
JOptionPane.showMessageDialog(rootPane, "第一个操作数不符合条件,必须是整数");
//弹出提示框后,把输入的字符给清空
this.FirstNumber.setText("");
//给光标
this.FirstNumber.requestFocus();
//然后让程序回去,不能继续走下去
return ;
}
//对输入的第二个操作数进行校验
if(!(SecondNumberString.matches(s))){
JOptionPane.showMessageDialog(rootPane, "第二个操作数不符合条件,必须是整数");
this.SecondNumber.setText("");
this.SecondNumber.requestFocus();
return;
}
//转换成整数类
int FirstNumber = Integer.valueOf(FirstNumberString);
int SecondNumber = Integer.valueOf(FirstNumberString);
//获取运算符 getSelectedItem():所选的项目
String operator = this.operator.getSelectedItem().toString();
//设置个结果变量
int result = 0;
//根据运算符的不同来进行不同的操作
switch(operator){
case "+":
result = FirstNumber + SecondNumber;
break;
case "-":
result = FirstNumber - SecondNumber;
break;
case "*":
result = FirstNumber * SecondNumber;
break;
case "/":
result = FirstNumber / SecondNumber;
break;
}
//把得到的结果赋值到结果文本框
this.Result.setText(String.valueOf(result));
}
java 24 - 10 GUI 之 四则预算的数据校验的更多相关文章
- java 24 - 8 GUI之创建四则运算计算器(未校验版)
这个是用NetBeans软件制作的,因为这个软件制作GUI任务比较方便 通过拖拽控件生成的窗体:(红色的名称是更改后的控件名称) 拉拽好布局后,要进行的步骤: A:更改想要进行操作的控件的名称(右键控 ...
- java 24 - 1 GUI之GUI的概述和基本代码
GUI(图形用户界面) GUI和CLI的区别: GUI Graphical User Interface(图形用户接口). 用图形的方式,来显示计算机操作的界面,这样更方便更直观. CLI Comma ...
- java 24 - 9 GUI 之 给窗体换图标、设置启动在屏幕中间、更换皮肤
A.首先更改窗体左上角的图片 步骤一: 创建3个包,分别建立1个类 第一个是窗体的包,窗体类:设置窗体的主要布置和功能 第二个是资源包,图片:把想要改的图案拉进来 第三个是UI界面包,UI界面设计类: ...
- java 24 - 7 GUI之 创建多级菜单窗体
需求: 创建多级菜单 步骤: A:创建窗体对象(并设置属性和布局) B:创建菜单栏 C:创建菜单和子菜单 D:逐步添加菜单(子菜单添加到菜单中,菜单添加到菜单栏中) E:窗体中设置菜单栏(菜单栏并不是 ...
- java 24 - 3 GUI之添加按钮
需求:把按钮添加到窗体,并对按钮添加一个点击事件. A:创建窗体对象 B:创建按钮对象 C:把按钮添加到窗体 D:窗体显示 注意:这里对按钮添加点击事件,同样使用监听器. 但是,这里的按钮是组件,所以 ...
- java 24 - 11 GUI之制作登陆注册页面
简单说说,懒得发了... 步骤: A:首先写出登陆注册需要用到类以及代码(IO流) B:然后创建登陆窗口和注册窗口 C:各个监听事件: a:登录窗口 1.重置:把2个文本框的内容全部清空 2.注册:关 ...
- java 24 - 6 GUI之 创建只能输入数字的文本框
需求: 创建一个含有标签和文本框的窗体,其中文本框只能输入数字 步骤:(大致上) 创建窗体对象 创建标签对象 创建文本框对象 把组件添加到窗体中 设置标签的监听事件,对键盘按下的数据进行监听 设置窗体 ...
- java 24 - 5 GUI之 鼠标移动改变窗体背景颜色
需求: 创建一个可改变背景颜色的窗口,鼠标移动到按钮上,窗口背景就会改变成特定的颜色 步骤: (大致上) 创建窗口对象 创建按钮对象 添加按钮到窗口中 设置窗口关闭监听事件 设置鼠标进入按钮区域的监听 ...
- java 24 - 4 GUI之创建数据转移窗口
需求: 把文本框中的数据,通过点击按钮,转移到文本域中. 同时清空文本框中的数据 代码:(步骤都注释了) public class FrameDemo4 { public static void m ...
随机推荐
- SharePoint 2013 搭建负载均衡(NLB)
服务器架构(三台虚机:AD和Sql在一台,前端两台) DC.Sql Server,其中包括:AD.DNS.DHCP服务(非必须): SPWeb01,其中包括:IIS.SharePoint: SPWeb ...
- SharePoint如何关掉mysite. how to disable mysite creation
一个很简单的问题 center admin --> application managment -->manage service application -->user profi ...
- Activity源码简要分析总结
Activity源码简要分析总结 摘自参考书籍,只列一下结论: 1. Activity的顶层View是DecorView,而我们在onCreate()方法中通过setContentView()设置的V ...
- yii cookie ,session 操作
一,在Yii中使用session 1,CHttpSession 与原生态php5的session使用差别是,php5使用session_start();$_session['key'] = $valu ...
- 解决Android studio 非法字符的问题
前言:今天遇到一个问题,从一个项目中把一些类拷贝到Android studio 里面,运行的时候,报错. 显示刚才拷贝的类中有非法字符,我又检查了一遍,发现类中没有非法字符. 在网上查到了,相关的解决 ...
- 通过JavaScript原型链理解基于原型的编程
零.此文动机 用了一段时间的Lua,用惯了Java C++等有Class关键字的语言,一直对Lua的中的面向对象技术感到费解,一个开源的objectlua更是看了n遍也没理解其中的原理,直到看到了Pr ...
- Java核心:类加载和JVM内存的分配
类的加载: 指的是将class文件的二进制数据读入到运行时数据区(JVM在内存中划分的) 中,并在方法区内创建一个class对象. 类加载器: 负责加载编译后的class文件(字节码文件)到JVM(J ...
- Xcode cannot launch because the device is locked.
When you plug in your iPhone, it will ask you to trust the computer. If you already trust and unlock ...
- 【代码笔记】iOS-侧滑效果
一,效果图. 二,工程图. 三,代码. AppDelegate.h #import <UIKit/UIKit.h> //加入头文件 #import "PPRevealSideVi ...
- js图形网站
在做项目的时候难免会遇到要画各式各样的图形,这里推荐一个网站 http://echarts.baidu.com/doc/example.html 这个网站各种各样的图形都有,还有案例,相当不错