




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用java swing实现简单的计算器功能 班级: 姓名: 学号: 计算机科学与工程学院 网络工程系一:源代码如下:package com.xinzhan.demoframe;import java.awt.font;import java.awt.image;import java.awt.toolkit;import java.awt.event.actionevent;import java.awt.event.actionlistener;import javax.swing.jbutton;import javax.swing.jframe;import javax.swing.jo
2、ptionpane;import javax.swing.jpanel;import javax.swing.jtextfield;public class calculatorframe extends jframe implements actionlistenerpublic jtextfield textfield = new jtextfield();private final jpanel panel = new jpanel();private final jbutton b12 = new jbutton();private final jbutton b13 = new jb
3、utton();private final jbutton s5 = new jbutton();private final jbutton s1 = new jbutton();private final jbutton b7 = new jbutton();private final jbutton b8 = new jbutton();private final jbutton b9 = new jbutton();private final jbutton s2 = new jbutton();private final jbutton b4 = new jbutton();priva
4、te final jbutton b5 = new jbutton();private final jbutton b6 = new jbutton();private final jbutton s3 = new jbutton();private final jbutton b1 = new jbutton();private final jbutton b2 = new jbutton();private final jbutton b3 = new jbutton();private final jbutton s4 = new jbutton();private final jbut
5、ton b0 = new jbutton();private final jbutton b11 = new jbutton();private final jbutton bn = new jbutton();private final image icon1 = toolkit.getdefaulttoolkit().getimage(image/cal.png);private boolean add,sub,mul,div;private boolean end = true;private double num1;/第一个操作数private double num2;/第二个操作数p
6、rivate double result;/存放结果/* * launch the application * param args */public static void main(string args) try calculatorframe frame = new calculatorframe();frame.setvisible(true); catch (exception e) e.printstacktrace();/* * create the frame * return */public calculatorframe() super();this.setbounds
7、(toolkit.getdefaulttoolkit().getscreensize().width/2-553/2,toolkit.getdefaulttoolkit().getscreensize().height/2-487/2, 553, 487);setdefaultcloseoperation(jframe.exit_on_close);try jbinit(); catch (throwable e) e.printstacktrace();private void jbinit() throws exception getcontentpane().setlayout(null
8、);setfont(new font(黑体, font.plain, 20);settitle(计算机jhon2.0版);this.seticonimage(icon1);getcontentpane().add(textfield);textfield.setfont(new font(楷体, font.plain, 20);textfield.setbounds(47, 29, 448, 83);textfield.sethorizontalalignment(jtextfield.right);textfield.seteditable(false);textfield.settext(
9、0);getcontentpane().add(panel);panel.setlayout(null);panel.setbounds(10, 141, 517, 308);panel.add(b12);b12.setfont(new font(楷体, font.plain, 20);b12.setbounds(10, 10, 106, 40);b12.settext(cancel);b12.addactionlistener(this);panel.add(b13);b13.setfont(new font(楷体, font.plain, 30);b13.settext(ce);b13.s
10、etbounds(143, 10, 106, 40);b13.addactionlistener(this);panel.add(s5);s5.settext(exit);s5.setfont(new font(楷体, font.plain, 30);s5.setbounds(270, 10, 106, 40);s5.addactionlistener(this);panel.add(s1);s1.setfont(new font(楷体, font.plain, 30);s1.settext(+);s1.setbounds(401, 10, 106, 40);s1.addactionliste
11、ner(this);panel.add(b7);b7.setfont(new font(楷体, font.plain, 30);b7.settext(7);b7.setbounds(10, 70, 106, 40);b7.addactionlistener(this);panel.add(b8);b8.setfont(new font(楷体, font.plain, 30);b8.settext(8);b8.setbounds(143, 70, 106, 40);b8.addactionlistener(this);panel.add(b9);b9.setfont(new font(楷体, f
12、ont.plain, 30);b9.settext(9);b9.setbounds(270, 70, 106, 40);b9.addactionlistener(this);panel.add(s2);s2.setfont(new font(, font.plain, 30);s2.settext(-);s2.setbounds(401, 70, 106, 40);s2.addactionlistener(this);panel.add(b4);b4.setfont(new font(楷体, font.plain, 30);b4.settext(4);b4.setbounds(10, 133,
13、 106, 40);b4.addactionlistener(this);panel.add(b5);b5.setfont(new font(楷体, font.plain, 30);b5.settext(5);b5.setbounds(143, 133, 106, 40);b5.addactionlistener(this);panel.add(b6);b6.setfont(new font(楷体, font.plain, 30);b6.settext(6);b6.setbounds(270, 133, 106, 40);b6.addactionlistener(this);panel.add
14、(s3);s3.setfont(new font(楷体, font.plain, 30);s3.settext(*);s3.setbounds(401, 133, 106, 40);s3.addactionlistener(this);panel.add(b1);b1.setfont(new font(楷体, font.plain, 30);b1.settext(1);b1.setbounds(10, 195, 106, 40);b1.addactionlistener(this);panel.add(b2);b2.setfont(new font(楷体, font.plain, 30);b2
15、.settext(2);b2.setbounds(143, 195, 106, 40);b2.addactionlistener(this);panel.add(b3);b3.setfont(new font(楷体, font.plain, 30);b3.settext(3);b3.setbounds(270, 195, 106, 40);b3.addactionlistener(this);panel.add(s4);s4.setfont(new font(楷体, font.plain, 30);s4.settext(/);s4.setbounds(401, 195, 106, 40);s4
16、.addactionlistener(this);panel.add(b0);b0.setfont(new font(楷体, font.plain, 30);b0.settext(0);b0.setbounds(10, 258, 106, 40);b0.addactionlistener(this);panel.add(b11);b11.setfont(new font(楷体, font.plain, 30);b11.settext(.);b11.setbounds(143, 258, 106, 40);b11.addactionlistener(this);panel.add(bn);bn.
17、setfont(new font(楷体, font.plain, 30);bn.settext(=);bn.setbounds(270, 258, 237, 40);bn.addactionlistener(this); private void getnumber(int num)string str = ; string s = new string(string.valueof(num);if(end)/输入完毕,将文本框置零this.textfield.settext(0);end = false;else if(this.textfield.gettext().equals(0)th
18、is.textfield.settext(s);/如果文本框值为零,则将其覆盖elsestr = this.textfield.gettext()+s;this.textfield.settext(str);/如果文本框值不为零,则在后面添加数字private void sign(int s)if(s=1)add = true;sub = false;mul = false;div = false;else if(s=2)add = false;sub = true;mul = false;div = false;else if(s=3)add = false;sub = false;mul = true;div = false;else if(s=4)add = false;sub = false;mul = false;div = true;else if(s=5)add = false;sub = false;mul = false;div = false;num1 = double.parsedouble(this.textfield.gettext();/获得输入的第一个操作数end = false;this.textfield.settext(0);/操作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 装修公司中间协议书
- 买卖防盗门合同协议书
- 隔离酒店意向协议书
- 食堂购买青菜协议书
- 项目合作管理协议书
- 乡村房屋翻维修协议书
- 路面硬化返工协议书
- 茶叶公司加盟协议书
- 超市合同陈列协议书
- 车库出租定金协议书
- 学校物业管理服务投标方案(技术方案)
- DL-T 1071-2023 电力大件运输规范
- 基于MATLAB的通信系统的设计与仿真毕业论文
- 2024年湖南高考物理真题试题(原卷版+含解析)
- 因为喝酒上班迟到检查范文
- 广东省中山市2023-2024学年八年级下学期期末考试数学试卷
- 跨文化商务交际智慧树知到期末考试答案章节答案2024年西安工业大学
- DZ/T 0462.1-2023 矿产资源“三率”指标要求 第1部分:煤(正式版)
- 河南省成人高等教育毕业生毕业资格审查表
- 报修申请表(完整版)
- 山东莱阳核电项目一期工程水土保持方案
评论
0/150
提交评论