




已阅读5页,还剩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;/导入窗体import javax.swing.JPanel;/导入面板/* *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * author Fjsh */public class CalcultorThree /新建对象,在构造函数中进行初始化 JFrame frame;/新建窗体对象 JButton buttonzero,buttondot,buttonequal;/新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;/新建按钮“+”“-”“*”“/”“sin”和归零按钮 JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;/新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;/新建三个面板 TextField tf;/新建文本区域对象 public CalcultorThree() /初始化对象 tf=new TextField(30);/构造空文本字段,字符宽度为30 frame =new JFrame(CalculatorThree);/构造窗体对象,名称为“CalculatorThree” panelcenter=new JPanel();/构造面板,放到窗体中央 panelwest=new JPanel();/构造面板,放到窗体西边 paneleast=new JPanel();/构造面板,放到窗体东边 Handle h=new Handle();/新建Handle类对象,Handle类为事件监听类 /创建数字按钮对象,1、2、3、4、5、6、7、8、9 buttonone=new JButton(1); buttontwo=new JButton(2); buttonthree=new JButton(3); buttonfour=new JButton(4); buttonfive=new JButton(5); buttonsix=new JButton(6); buttonseven=new JButton(7); buttoneight=new JButton(8); buttonnine=new JButton(9); panelcenter.setLayout(new GridLayout(3,3);/设置面板布局为网格布局,3行3列 /将数字按钮添加到中间面板 panelcenter.add(buttonone); panelcenter.add(buttontwo); panelcenter.add(buttonthree); panelcenter.add(buttonfour); panelcenter.add(buttonfive); panelcenter.add(buttonsix); panelcenter.add(buttonseven); panelcenter.add(buttoneight); panelcenter.add(buttonnine); /为10个按钮注册事件监听器 buttonone.addActionListener(h); buttontwo.addActionListener(h); buttonthree.addActionListener(h); buttonfour.addActionListener(h); buttonfive.addActionListener(h); buttonsix.addActionListener(h); buttonseven.addActionListener(h); buttoneight.addActionListener(h); buttonnine.addActionListener(h); /构造按钮“0”“.”“=”,注册事件监听器,设置1行3列的布局,添加到到西边的面板 buttonzero=new JButton(0); buttondot=new JButton(.); buttonequal=new JButton(=); buttonzero.addActionListener(h); buttondot.addActionListener(h); buttonequal.addActionListener(h); panelwest.setLayout(new GridLayout(3,1); panelwest.add(buttonzero); panelwest.add(buttondot); panelwest.add(buttonequal); /构造操作按钮“+”“-”“*”“/”“sin”“0”,其中“0”为归零按钮 buttonplus=new JButton(+); buttonminus=new JButton(-); buttonmultiple=new JButton(*); buttondevision=new JButton(/); buttonsin=new JButton(sin); buttontozero=new JButton(0); paneleast.setLayout(new GridLayout(3,1);/设置西边的布局为3行1列 /将操作按钮“+”“-”“*”“/”“sin”“0”添加到西边的面板中 paneleast.add(buttonplus); paneleast.add(buttonminus); paneleast.add(buttonmultiple); paneleast.add(buttondevision); paneleast.add(buttonsin); paneleast.add(buttontozero); /为操作按钮“+”“-”“*”“/”“sin”“0”注册监听器 buttonplus.addActionListener(h); buttonminus.addActionListener(h); buttonmultiple.addActionListener(h); buttondevision.addActionListener(h); buttonsin.addActionListener(h); buttontozero.addActionListener(h); frame.setLayout(new BorderLayout();/设置窗体为边界布局 frame.add(paneleast,East);/将东边面板paneleast添加到窗体的东边 frame.add(tf,BorderLayout.NORTH); /将tf文本区域添加到窗体的北边,即顶部 frame.add(panelwest,BorderLayout.WEST);/将panelwest面板添加到窗体西边 frame.add(panelcenter,BorderLayout.CENTER);/将panelcenter面板添加到窗体中间 frame.pack();/设置窗体大小,适合其子组件的首选大小和布局 frame.setLocation(500,500);/设置窗体显示位置为(500,500) frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置布局窗体默认关闭方式 frame.setVisible(true);/设置窗体可见 public static void main(String args) new CalcultorThree();/主方法中新建对象 class Handle implements ActionListener/实现动作监听器类 int biaozhi=0;/此标志标志加减乘除操作 double flag1=0,flag2=0,flag3=0;/flag1、flag2为两个操作数,flag3为结果 Override public void actionPerformed(ActionEvent e) /方法重写 try/此处可能会产生异常,用try、catch捕捉异常,不用处理 if(e.getSource()=buttondot)/小数点 tf.setText(0.); if(e.getSource()=buttontozero)/归零操作 tf.setText(); if(e.getSource()=buttonzero)/按键0操作 tf.setText(tf.getText()+0); flag1=Double.parseDouble(tf.getText();/将文本区域转换成Double类型,赋给flag1 if(e.getSource()=buttonone)/按键1操作 tf.setText(tf.getText()+1); flag1=Double.parseDouble(tf.getText(); else if(e.getSource()=buttontwo)/按键2操作 tf.setText(tf.getText()+2); flag1=Double.parseDouble(tf.getText(); else if(e.getSource()=buttonthree)/按键3操作 tf.setText(tf.getText()+3); flag1=Double.parseDouble(tf.getText(); else if(e.getSource()=buttonfour)/按键4操作 tf.setText(tf.getText()+4); flag1=Double.parseDouble(tf.getText(); else if(e.getSource()=buttonfive)/按键5操作 tf.setText(tf.getText()+5); flag1=Double.parseDouble(tf.getText(); else if(e.getSource()=buttonsix)/按键6操作 tf.setText(tf.getText()+6); flag1=Double.parseDouble(tf.getText(); else if(e.getSource()=buttonseven)/按键7操作 tf.setText(tf.getText()+7); flag1=Double.parseDouble(tf.getText(); else if(e.getSource()=buttoneight)/按键8操作 tf.setText(tf.getText()+8); flag1=Double.parseDouble(tf.getText(); else if(e.getSource()=buttonnine)/按键9操作 tf.setText(tf.getText()+9); flag1=Double.parseDouble(tf.getText(); if(e.getSource()=buttonplus)/加法操作 tf.setText(); flag2=flag1; biaozhi=0; if(e.getSource()=buttonminus)/减法操作 tf.setText(); flag2=flag1; biaozhi=1; if(e.getSource()=buttonmultiple)/乘法操作 tf.setText(); flag2=flag1; biaozhi=2; if(e.getSource()=buttondevision)/除法操作 tf.setText(); flag2=flag1; biaozhi=3; if(e.getSource()=butto
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小儿红细胞葡萄糖-6-磷酸脱氢酶缺乏症的临床护理
- 眼眶爆裂性骨折的临床护理
- 【房地产】山水芙蓉国际新城-主题宣传推广创意案
- 诱导透析治疗
- 护理美学美育
- 肝胆护理年终总结
- 新质生产力会议
- 原发性十二指肠恶性淋巴瘤的临床护理
- 感染科院感管理规范实施要点
- 2025届河北省保定市莲池区十三中学七下数学期末质量检测模拟试题含解析
- 龙门吊安装方案(10吨)
- 离婚纠纷-模拟法庭剧本
- 管培生(校招生)培养方案(计划)落地完整版
- 人教版八年级数学上册基础训练题(全册合集)(含答案)
- 六年级语文总复习课《修改病句》修改课件市公开课一等奖省赛课获奖课件
- 位置度公差及其计算课件
- SJ-T 11841.2.2-2022 显示系统视觉舒适度 第2-2部分:平板显示-蓝光测量方法
- 创意贝壳粘贴画教案
- 小学英语(pep)人教版六年级(下册)课文及课文翻译
- 2022伊之密MES系统平台使用手册
- 变电站构架设计手册
评论
0/150
提交评论