




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 以趣启学:游戏教学法在湘潭市熙春路小学英语词汇教学中的应用剖析
- 以诗润心素养铸魂:语文核心素养视域下统编初中语文古诗词教学探索
- 以认知重评策略化解大学生人际冲突:理论、实践与展望
- 2024-2030年中国莫来石陶瓷行业市场发展监测及投资潜力预测报告
- 年光谱仪分析报告
- 2025年中国空气净化设备行业发展潜力分析及投资方向研究报告
- 中国铝合金卷帘窗行业市场前景预测及投资价值评估分析报告
- 2025年中国陶瓷调批行业市场发展前景及发展趋势与投资战略研究报告
- 2024-2030年中国智能小便冲洗器行业市场全景监测及投资前景展望报告
- 政府申请报告范文
- DB52T 046-2018 贵州省建筑岩土工程技术规范
- 医疗保险基金使用监督管理条例
- 三家比价合同范例
- 《义务教育语文课程标准》(2022年版)
- 项目驻地安全防火培训
- 风险评估培训课件x
- 第九章和第十章+静电场+单元测试卷- 高二上学期物理人教版(2019)必修第三册
- 《PLC应用技术(西门子S7-1200)第二版》全套教学课件
- 考点24 句子衔接与排序(二):句子排序-2024年小升初语文专题训练(统编版)
- DB34∕T 3468-2019 民用建筑楼面保温隔声工程技术规程
- 国家开放大学本科《公共部门人力资源管理》期末纸质考试总题库2025版
评论
0/150
提交评论