java计算器实现源代码上传.doc_第1页
java计算器实现源代码上传.doc_第2页
java计算器实现源代码上传.doc_第3页
java计算器实现源代码上传.doc_第4页
java计算器实现源代码上传.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java计算器实现源代码上传.txt性格本身没有好坏,乐观和悲观对这个世界都有贡献,前者发明了飞机,后者发明了降落伞。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class testpublic static void main(String args )jisuan frame = new jisuan();/新建一个jisuan类对象frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/为该对象设置默认关闭动作frame.setResizable(false);/设置不可调整大小frame.show();/将该框架对象显示出来class jisuan extends JFrame implements ActionListener/jisuan类继承自JFrame类private JMenuBar menubar = new JMenuBar();private JMenu m1 = new JMenu(文件(field);private JMenu m2 = new JMenu(编辑(education);private JMenu m3 = new JMenu(帮助(help);/新建菜单栏private JMenuItem t2,t3,t4,t7,t8;private JPanel j1,j2;private JButton b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;private JButton kaigen,qiuyu,pingfang,zengxuan,yuxuan ,jiecheng,jia,jian,cheng,chu,dengyu;private Container contenPane = this.getContentPane();/获取当前的内容窗格private JTextField p1,p2;private JLabel j0;private double tem1 = 0;private double tem2 = 0;private double tem3 = 0;private int biaozhi=0;public jisuan() /构造函数super.setTitle(简单计算器);/设置标题super.setSize(640,200);/设置尺寸super.setJMenuBar(menubar);menubar.add(m1);menubar.add(m2);menubar.add(m3);t2 = new JMenuItem(全部清零);t3 = new JMenuItem(打开圆周率);t4 = new JMenuItem(退出);m1.add(t2);m1.add(t3);m1.add(t4);t7 = new JMenuItem(写字本);m2.add(t7);t8 = new JMenuItem(关于.);m3.add(t8);j1 = new JPanel();p1 = new JTextField(40);p1.setEditable(false);j0 = new JLabel(请输入要计算的数字:);/ p2 = new JTextField(请输入计算的数字,10);/ p3 = new JTextField(结果是,10);/ p3.setEditable(false);j1.add(j0);j1.add(p1);/ j1.add(p2);/ j1.add(p3);j2 = new JPanel();GridLayout f = new GridLayout(3,7);/新建一个布局管理器对象j2.setLayout(f);/将布局管理器对象加入到面板中b0 = new JButton(0);b1 = new JButton(1);b2 = new JButton(2);b3 = new JButton(3);b4 = new JButton(4);b5 = new JButton(5);b6 = new JButton(6);b7 = new JButton(7);b8 = new JButton(8);b9 = new JButton(9);/ j3 = new JPanel();j2.add(b0);j2.add(b1);j2.add(b2);j2.add(b3);j2.add(b4);j2.add(b5);j2.add(b6);j2.add(b7);j2.add(b8);j2.add(b9);jia = new JButton(+);jian = new JButton(-);cheng = new JButton(*);chu = new JButton(/);kaigen = new JButton(立方根);qiuyu = new JButton(平方根);pingfang = new JButton(平方);zengxuan = new JButton(sin);yuxuan = new JButton(cos);jiecheng = new JButton(阶乘);dengyu = new JButton(=);j2.add(jia);j2.add(jian);j2.add(cheng);j2.add(chu);j2.add(kaigen);j2.add(qiuyu);j2.add(pingfang);j2.add(zengxuan);j2.add(yuxuan);j2.add(jiecheng);j2.add(dengyu);contenPane.add(j2,BorderLayout.CENTER);/将j2添加到内容窗格中同时为其指定位置contenPane.add(j1,BorderLayout.NORTH);b0.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);b6.addActionListener(this);b7.addActionListener(this);b8.addActionListener(this);b9.addActionListener(this);jia.addActionListener(this);jian.addActionListener(this);cheng.addActionListener(this);chu.addActionListener(this);kaigen.addActionListener(this);qiuyu.addActionListener(this);pingfang.addActionListener(this);zengxuan.addActionListener(this);yuxuan.addActionListener(this);jiecheng.addActionListener(this);dengyu.addActionListener(this);/为按钮添加事件监听器t2.addActionListener(this);t3.addActionListener(this);t4.addActionListener(this);t7.addActionListener(this);t8.addActionListener(this);/JMenuItem类对象添加事件监听器public void actionPerformed(ActionEvent e)if(e.getSource()=b0)p1.setText(0);j1.add(p1);tem1 = 0;else if(e.getSource() = b1)p1.setText(1);j1.add(p1);tem1 = 1;else if(e.getSource() = b2)p1.setText(2);j1.add(p1);tem1 = 2;else if(e.getSource() = b3)p1.setText(3);j1.add(p1);tem1 = 3;else if(e.getSource() = b4)p1.setText(4);j1.add(p1);tem1 = 4;else if(e.getSource() = b5)p1.setText(5);j1.add(p1);tem1 = 5;else if(e.getSource() = b6)p1.setText(6);j1.add(p1);tem1 = 6;else if(e.getSource() = b7)p1.setText(7);j1.add(p1);tem1 = 7;else if(e.getSource() = b8)p1.setText(8);j1.add(p1);tem1 = 8;else if(e.getSource() = b9)p1.setText(9);j1.add(p1);tem1 = 9;if(e.getSource()=jia)p1.setText(tem1+);j1.add(p1);tem2 = tem1;biaozhi = 0; if(e.getSource()=jian)p1.setText(tem1+-);j1.add(p1);tem2 = tem1;biaozhi = 1;if(e.getSource()=cheng)p1.setText(tem1+*);j1.add(p1);tem2 = tem1;biaozhi = 2;if(e.getSource()=chu)p1.setText(tem1+/);j1.add(p1);tem2 = tem1;biaozhi = 3; if(e.getSource()=kaigen) p1.setText(tem1+立方根); j1.add(p1); tem2 = tem1; biaozhi = 4; if(e.getSource()=qiuyu) p1.setText(tem1+平方根); j1.add(p1); tem2 = tem1; biaozhi = 5; if(e.getSource()=pingfang) p1.setText(tem1+平方); j1.add(p1); tem2 = tem1; biaozhi = 6; if(e.getSource()=zengxuan) p1.setText(tem1+sina); j1.add(p1); tem2 = tem1; biaozhi = 7; if(e.getSource()=yuxuan) p1.setText(tem1+cosa); j1.add(p1); tem2 = tem1; biaozhi = 8; if(e.getSource()=jiecheng) p1.setText(tem1+!); j1.add(p1); tem2 = tem1; biaozhi = 9; if(e.getSource()=dengyu) if(biaozhi =0) tem3 = tem2+tem1; if(biaozhi =1) tem3 = tem2-tem1; if(biaozhi =2) tem3 = tem2*tem1; if(biaozhi =3) tem3 = tem2/tem1; if(biaozhi =4) tem3 =Math.cbrt(tem1); if(biaozhi =5) tem3 =Math.sqrt(tem1); if(biaozhi =6) tem3 = tem1*tem1; if(biaozhi =7) tem3 = Math.sin(tem1); if(biaozhi =8) tem3 = Math.cos(tem1); if(biaozhi =9) tem3 = jisuanjiecheng(tem1); p1.setText(=+tem3); j1.add(p1); else if(e.getSource()=t2) p1.setText(0.0); j1.add(p1); else if(e.getSource()=t3) p1.setText(Math.PI+); j1.add(p1); else if(e.getSource()=t4) System.exit(0); else if(e.getSource()=t8) helpFile myhelpfile=new helpFile(); myhelpfile.show(); else if(e.getSource()=t7) repaint(); jishiben mynewjisuan=new jishiben(); mynewjisuan.show(); /实现监听器 private double jisuanjiecheng(double a) if(a=1) return 1;/递归出口 else return (jisuanjiecheng(a-1)*a);/实现递归计算阶乘 class jishiben extends JFrame/实现记事本类 private Container contenPane1 = getContentPane(); private JTextArea text = new JTextArea(); private JButton tuibutton; private JPanel ji1,ji2; public jishiben() super.setTitle(文本编辑器);/设置标题 super.setSize(300,200);/设置尺寸 ji1 = new JPanel(); ji2 = new JPanel(); text = new JTextArea(请输入你要记录的文字,7,20);/行数为5列数为20 text.setLineWrap(true);/为文本框设置可回绕,即满行之后自动实现换行 tuibutton = new JButton(退出); tuibutton.addActionListener(new tuiActionListener(); ji1.add(text); ji2.add(tuibutton); contenPane1.add(ji2,BorderLayout.SOUTH); contenPane1.add(ji1,BorderLayout.NORTH); private class tuiActionListener implements ActionListener public void actionPerformed(ActionEvent e) setVisible(false); class helpFile extends JFrame/实现帮助文档类 private Container contenPane1 = getContentPane(); private JTextArea text = new

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论