版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、简单计算器代码package calcultorthree;import java.awt.BorderLayout;/导入边界布局管理器类 import java.awt.GridLayout;/导入网格布局管理器类 import java.awt.TextField;/ 导入文本区域类import java.awt.event.ActionEvent; 导入事件类import java.awt.event.ActionListener; 导入事件监听者类import javax.swing.JButton;/ 导入按钮类import javax.swing.JFrame;/ 导入窗体imp
2、ort javax.swing.JPanel; 导入面板/*本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。* author Fjsh*/ public class CalcultorThree /新建对象,在构造函数中进行初始化JFrame frame;/新建窗体对象JButton buttonzero,buttondot,buttonequal;/ 新建按钮 “ 0”". ”"=”JButt on butt on plus,butt onminu s,butt onm ultiple,butt on d
3、evisi on,buttonsin,buttontozero;/ 新建按钮 “ +"-” “ “ * ”" /和归零按钮JButt on butt onon e,butt on two,butt on three,butt on four,butt on five,butt on six,butt on seve n,butt on eight,butt onnine;/新 建 数 字“0”“1 ”“ 2”“ 3”“ 4”“ 5”“ 6”“ 7”“ 8”“ 9”JPa nel pan elwest,pa nelce nter,pa neleast;/新 建三个面板Text
4、Field tf;/新建文本区域对象public CalcultorThree()初始化对象tf=new TextField(30);构造空文本字段,字符宽度为30frame =new JFrame("CalculatorThree"); 构造窗体对象,名称为“ CalculatorThreepan elce nter= new JPa nel();构造面板,放到窗体中央pan elwest=new JPa nel();构造面板,放到窗体西边pan eleast =new JPa nel();构造面板,放到窗体东边Handle h=new Handle();新建Handle
5、类对象,Handle类为事件监听类/创建数字按钮对象,1、2、3、4、5、6、7、8、9butto non e=new JButto n( "1");butto ntwo=new JButto n( "2");butt on three=new JButto n( "3");butto nfour= new JButto n( "4");butt on five=new JButto n( "5");butto nsix= new JButto n( "6");butt on
6、 seve n=new JButt on ("7");butto neight=new JButto n( "8");butt onnin e=new JButt on ("9");panelcenter.setLayout(new GridLayout(3,3); 设置面板布局为网格布局,3 行 3 列将数字按钮添加到中间面板pan elce nter.add(butt onon e);pan elce nter.add(butt on two);pan elce nter.add(butt on three);pan elce n
7、ter.add(butt on four);pan elce nter.add(butt on five);pan elce nter.add(butt on six);pan elce nter.add(butt on seve n);pan elce nter.add(butt on eight);pan elce nter.add(butt onnin e);为10个按钮注册事件监听器butt onon e.addAct ion Liste ner(h);butt on two.addAct ion Liste ner(h);butt on three.addAct ion Liste
8、ner(h);butt on four.addAct ion Liste ner(h);butt on five.addAct ion Liste ner(h);butt on six.addAct ion Liste ner(h);butt on seve n. addAct ion Liste ner(h);butt on eight.addAct ion Liste ner(h);butt onnin e.addAct ion Liste ner(h);构造按钮“ 0”“ .,”注册事件监听器,设置1行3列的布局,添加到到西边的面 butto nzero=n ew JButt on (&
9、quot;0"); butto ndot=new JButto n(".");butt on equal=new JButt on ("=");butt on zero.addAct ion Liste ner(h);butt on dot.addActi on Liste ner(h);butt on equal.addActi on Liste ner(h);pan elwest.setLayout (new GridLayout(3,1);pan elwest.add(butt on zero);pan elwest.add(butt o
10、n dot);pan elwest.add(butt on equal);构造操作按钮 “ +”-”“ * ”“ /”“,s其中“ >0为归零按钮butto nplus=new JButto n("+"); butt onminus=new JButt on ("-"); butto nmultiple=new JButto n( "*"); butt on devisi on=new JButt on ("/"); butt onsin=new JButt on ("s in ”); butto
11、ntozero=n ew JButto n( ">0");paneleast.setLayout(new GridLayout(3,1);/ 设置西边的布局为3 行 1 列将操作按钮“ +”-” “*”“ /” “添加到西边的面板中pan eleast.add(butt on plus);pan eleast.add(butt onminu s);pan eleast.add(butt onm ultiple);pan eleast.add(butt on devisi on);pan eleast.add(butt onsin);pan eleast.add(but
12、t on tozero);为操作按钮“ +”- ” “* ”“ /” “注册监听器>0 ”butt on plus.addAct ion Liste ner(h);butt onminu s.addAct ion Liste ner(h);butt onm ultiple.addAct ion Liste ner(h);butt on devisi on .addAct ion Liste ner(h);butt onsin. addActi on Liste ner(h);butt on tozero.addAct ion Liste ner(h);frame.setLayout(ne
13、w BorderLayout();/ 设置窗体为边界布局 frame.add(pa neleast,"East");将东边面板pan eleast添加到窗体的东边 frame.add(tf,BorderLayout.NORTH); /将tf文本区域添加到窗体的北边,即顶部 frame.add(panelwest,BorderLayout.WEST); 将 panelwest 面板添加到窗体西边 frame.add(panelcenter,BorderLayout.CENTER); 将 panelcenter 面板添加到窗体中间 frame.pack();/设置窗体大小,适合
14、其子组件的首选大小和布局 frame.setLocation(500,500);/ 设置窗体显示位置为(500,500) frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 设置布局窗体默认关闭方式frame.setVisible(true);/ 设置窗体可见public static void main( Stri ng args) new CalcultorThree();主方法中新建对象class Handle implements ActionListener 实现动作监听器类int biaozhi=0;此标志标志加减乘除操作do
15、uble flag仁0,flag2=0,flag3=0;/flag1 、flag2 为两个操作数,flag3 为结果 Overridepublic void actio nPerformed(Actio nEvent e) / 方法重写try/此处可能会产生异常,用try、catch捕捉异常,不用处理if(e.getSource()=buttondot) 小数点tf.setText("O.");if(e.getSource()=buttontozero)/ 归零操作tf.setText(”);if(e.getSource()=buttonzero) 按键 0 操作 tf.s
16、etText(tf.getText()+"0");flag仁Double.parseDouble(tf.getText(); 将文本区域转换成Double 类型,赋给flag1if(e.getSource()=buttonone)/ 按键 1 操作tf.setText(tf.getText()+"1");flag 仁 Double.parseDouble(tf.getText();else if(e.getSource()=buttontwo) 按键 2 操作tf.setText(tf.getText()+"2");flag 仁 Do
17、uble.parseDouble(tf.getText();else if(e.getSource()=buttonthree) 按键 3 操作tf.setText(tf.getText()+"3");flag 仁 Double.parseDouble(tf.getText();else if(e.getSource()=buttonfour) 按键 4 操作tf.setText(tf.getText()+"4");flag 仁 Double.parseDouble(tf.getText();else if(e.getSource()=buttonfiv
18、e)/ 按键 5 操作tf.setText(tf.getText()+"5");flag 仁 Double.parseDouble(tf.getText();else if(e.getSource()=buttonsix) 按键 6 操作tf.setText(tf.getText()+"6");flag 仁 Double.parseDouble(tf.getText();else if(e.getSource()=buttonseven) 按键 7 操作tf.setText(tf.getText()+"7");flag 仁 Double.parseDouble(tf.getText();else if(e.getSource()=buttoneight) 按键 8 操作tf.setText(tf.getText()+"8");flag 仁 Double.parseDouble(tf.getText();else if(e.getSource()=buttonnine)/ 按键 9 操作tf.setText(tf.getText()+"9");flag 仁 Double.pars
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《电视原理》课件第9章
- 信息安全销售总结
- 儿童肝胆科护理工作总结
- 2024某品牌与线下零售商关于产品销售的合同
- 酒水行业会计工作总结
- 手术室护士工作总结
- 2024年版权合作出版合同详述
- 2024幼儿园蔬菜直供配送及价格调整协议范本3篇
- 工厂企业保安员工作总结
- 2025版软件开发合同功能需求及交付时间表2篇
- 王二小的故事【拼音版】
- 生产工艺过程说明书
- 辽宁省营口市鲅鱼圈区2023-2024学年数学四年级第一学期期末复习检测试题含答案
- 中小学铁路安全知识主题教育课件
- 工程施工安全交底
- 院内按病种分值付费(DIP)专题培训
- 2023-2024学年辽宁省调兵山市小学数学五年级上册期末高分通关试题
- 地方公务员考试:2022西藏真题及答案
- 电化学培优专题
- GB/T 631-2007化学试剂氨水
- GB/T 325.5-2015包装容器钢桶第5部分:200 L及以下闭口钢桶
评论
0/150
提交评论