【完美升级版】简单计算器设计java毕业论文(2)
○4Result_layout是显示运算结果的布局组件,Jpanel使用FlowLayout的布局,Jpanel中加入JLabel、JTextField、JButton的控件。
详见代码。
JLabel是“结果”的控件,JTextField用来显示得到的结果,JButton 是“清除”的按钮,作用是将输入的输入与输出的数据清空。
○5Time_layout 是显示时间的布局组件, Jpanel使用FlowLayout的布局,Jpanel中加入两个JLabel的控件。分别“显示时间”,另一个是将系统的时间显示在另一个JLabel上。详见代码。
(5)wgr.otherlayout包中含有一个Hanshu_layout的类,该是是显示函数运算的窗口,并且还有输入框的键盘输入监听事件。
还对输入的数据进行的控制。以防止非法的数据输入,运算产生错误。该类是根据获得函数类型进行相应的运算。
public void keyPressed(KeyEvent e) {
if ((KeyEvent.VK_0 <= e.getKeyChar() && e.getKeyChar() <= KeyEvent.VK_9)
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
|| (e.getKeyChar() == KeyEvent.VK_BACK_SPACE)
|| (e.getKeyChar() == KeyEvent.VK_ENTER)
|| (e.getKeyChar() == KeyEvent.VK_PERIOD)) {
if (e.getKeyChar() == KeyEvent.VK_PERIOD) {
} else if (!field.getText().toString().equals(null)
&& (e.getKeyChar() == KeyEvent.VK_ENTER)) {
double d = Double.parseDouble(field.getText()
.toString());
if(MyMenu_3_listener.getString() == Constant.F_Sin) {
field2.setText(String.valueOf(Math.sin(d)).substring(0, 5));
}
if(MyMenu_3_listener.getString() == Constant.F_Cos) {
field2.setText(String.valueOf(Math.cos(d)).substring(0, 5));
}
if(MyMenu_3_listener.getString() == Constant.F_Tan) {
field2.setText(String.valueOf(Math.tan(d)).substring(0, 5));
}
if (MyMenu_3_listener.getString() == Constant.F_Sqrt) {
field2.setText(String.valueOf(Math.sqrt(d)));
}
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
if(MyMenu_3_listener.getString() == Constant.F_Log) {
field2.setText(String.valueOf(Math.log(d)).substring(0, 5));
}
} else if (e.getKeyChar() == KeyEvent.VK_BACK_SPACE) {
field.setText(null);
field2.setText(null);
}
;
} else {
JOptionPane.showConfirmDialog(frame, "输入有误", "提示",
JOptionPane.OK_CANCEL_OPTION);
如果输入了非法的数据,将非法输入的数据删除掉
field.setText(field
.getText()
.toString()
.substring(0,
field.getText().toString().length() - 1));
}
}
(6)wgr.thread包中只含有一个TimeThread类,该类继承了Thread。该类有一个TimeThread有参数的构造方法,用来获得Time_layou中的显示系统时间的Jlabel。
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
public TimeThread(JLabel label) {
jLabel = label;
}
该类重写了run方法,获得系统的时间,将时间显示获得的jlabel 上。
public void run() {
super.run();
while (true) {
当程序退出时,使此线程中断
if(isSTATE()){
jLabel.setText(time.format(new Date()));
}
else break;
}
}
此类还有一个来获取程序是否推退出的的方法setSTATE,如果程序退出了,将会得到false,线程的run方法就会终止。
public static boolean isSTATE() {
return STATE;
}
public static void setSTATE(boolean sTATE) {
STATE = sTATE;
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
}
第3章计算器程序代码
(1)常量包:
Constant.java代码:
(2)模型包,即入口包
Entry.java代码:
(3)响应事件包:
MyButtonLisener. java按钮响应事件:
MyKeyPress.java键盘输入事件:
MyMenu_1_Listner.java计算机菜单选择事件:
MyMenu_2_listener.java操作模式菜单选择事件:
MyMenu_3_listenerjava操作函数运算选择事件:(4)各个界面布局组件包:
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
Commond_layout.java运算布局组件:
Model_layout.java显示运算模式布局组件:
MyMenu1.java计算器菜单组件:
MyMenu2.java运算模式菜单组件:
MyMenu3.java函数运算菜单组件:
Result_layout.java 运算结果布局组件:
Time_layout.java 显示时间布局组件:(5)函数运算包
Hanshu_layout.java函数运算窗口:
(6)获取事件线程包:
TimeThread.java 获取时间线程组件:Constant.java代码:回到程序目录
package wgr.constant;
毕业论文,单片机论文,毕业论文设计,毕业过关论文,毕业设计,毕业设计说明,硕士论文,研究生论文
public class Constant {
菜单一的常量
public static final String COUNTER="计算器";
public static final String START="启动计算器";
public static final String CLOSE="关闭计算器";
public static final String EXIT="退出";
运算的常量,也是菜单2的常量
public static final String MODEL="运算模式";
public static final String ADDITION="加法";
public static final String SUBDUCTION="减法";
public static final String MULTIPLICATION="乘法";
public static final String DIVISION="除法";
运算模式符号
public static final String ADDITION_SYMBOL="+";
public static final String SUBDUCTION_SYMBOL="—";
public static final String MULTIPLICATION_SYMBOL="*";
public static final String DIVISION_SYMBOL="";
函数字符串
public static final String FX="函数";
…… 此处隐藏:1934字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [外语考试]管理学 第13章 沟通
- [外语考试]07、中高端客户销售流程--分类、筛选讲
- [外语考试]2015-2020年中国高筋饺子粉市场发展现
- [外语考试]“十三五”重点项目-汽车燃油表生产建
- [外语考试]雅培奶粉培乐系列适用年龄及特点
- [外语考试]九三学社入社申请人调查问卷
- [外语考试]等级薪酬体系职等职级表
- [外语考试]货物买卖合同纠纷起诉状(范本一)
- [外语考试]青海省实施消防法办法
- [外语考试]公交车语音自动报站系统的设计第3稿11
- [外语考试]logistic回归模型在ROC分析中的应用
- [外语考试]2017-2021年中国隔膜泵行业发展研究与
- [外语考试]神经内科下半年专科考试及答案
- [外语考试]园林景观设计规范标准
- [外语考试]2018八年级语文下册第一单元4合欢树习
- [外语考试]分布式发电及微网运行控制技术应用
- [外语考试]三人行历史学笔记:中世纪人文主义思想
- [外语考试]2010届高考复习5年高考3年联考精品历史
- [外语考试]挖掘机驾驶员安全生产责任书
- [外语考试]某211高校MBA硕士毕业论文开题报告(范
- 用三层交换机实现大中型企业VLAN方案
- 斯格配套系种猪饲养管理
- 涂层测厚仪厂家直销
- 研究生学校排行榜
- 鄱阳湖湿地景观格局变化及其驱动力分析
- 医学基础知识试题库
- 2010山西省高考历年语文试卷精选考试技
- 脉冲宽度法测量电容
- 谈高职院校ESP教师的角色调整问题
- 低压配电网电力线载波通信相关技术研究
- 余额宝和城市商业银行的转型研究
- 篮球行进间运球教案
- 气候突变的定义和检测方法
- 财经大学基坑开挖应急预案
- 高大支模架培训演示
- 一种改进的稳健自适应波束形成算法
- 2-3-鼎视通核心人员薪酬股权激励管理手
- 我国电阻焊设备和工艺的应用现状与发展
- MTK手机基本功能覆盖测试案例
- 七年级地理教学课件上册第四章第一节




