欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    计算机组织原理与体系结构课程设计用Java Swing实现简单的计算器功能.doc

    • 资源ID:2387651       资源大小:246.50KB        全文页数:27页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机组织原理与体系结构课程设计用Java Swing实现简单的计算器功能.doc

    用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.JOptionPane;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 JButton();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();private 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 JButton 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;/第二个操作数private 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(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);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("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.setBounds(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.addActionListener(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("楷体", Font.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, 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(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.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.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.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")this.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");/操作数num1输入结束public void point()String s ;if(this.textField.getText().indexOf(".")<0)/如果没有小数点,则把数字后面跟小数点做为文本框的值s = this.textField.getText()+"."this.textField.setText(s);private void cal()/计算num2 = Double.parseDouble(this.textField.getText();/获得输入的第二个操作数if(add)result = num1 + num2;if(sub)result = num1 - num2;if(mul)result = num1 * num2;if(div)if(num2=0)JOptionPane.showMessageDialog(null, "除数不能为零!");elseresult = num1 / num2;this.textField.setText(String.valueOf(result);Overridepublic void actionPerformed(ActionEvent e) /按钮事件if(e.getSource()=b0)getNumber(0);else if(e.getSource()=b1)getNumber(1);else if(e.getSource()=b2)getNumber(2);else if(e.getSource()=b3)getNumber(3);else if(e.getSource()=b4)getNumber(4);else if(e.getSource()=b5)getNumber(5);else if(e.getSource()=b6)getNumber(6);else if(e.getSource()=b7)getNumber(7);else if(e.getSource()=b8)getNumber(8);else if(e.getSource()=b9)getNumber(9);/符号事件else if(e.getSource()=s1)/ 相加sign(1);else if(e.getSource()=s2)/ 相减sign(2);else if(e.getSource()=s3)/ 相乘sign(3);else if(e.getSource()=s4)/ 相除sign(4);else if(e.getSource()=s5)/退出System.exit(0);else if(e.getSource()=b13)/SE按此键清空文本框this.textField.setText("0");else if(e.getSource()=b12)/按Cancel则取消刚选中的数字StringBuffer sb = new StringBuffer(this.textField.getText();if(this.textField.getText().length()>0)sb.deleteCharAt(this.textField.getText().length()-1);/删除最后一位数字this.textField.setText(sb.toString();elsethis.textField.setText("");else if(e.getSource()=b11)/小数点point();else if(e.getSource()=bn)/获得等号cal();二:测试num1 = 15,num2 = 3;相加相减相乘相除除数为零的情况三:心得体会:通过这次的实验课,让我真的学会了好多知识,尤其是参数的传递,让我明白了参数传递的好处和重要性。同时也锻炼了我的思维,在一开始的时候感觉这个真的很好做,于是用JBuilder2008不一会把界面就画好了,但是做了一会才发现有好多问题,不知道怎么去解决。比如说,小数点值能输一次,还有如果文本框的值本来为0,当我们输个1的时候,它需要把0覆盖掉,尤其是把输入的数字拼接起来等等一系列的问题。但是经过自己的一番努力下还是把它做出来了,虽然可能还存在许多问题有待解决,但是基本上的功能实现了,感觉还是蛮有收获的,更重要的是发现自己在Swing这块还有好多东西没有弄明白,我觉得今后应该更加的努力去学习更多知识。

    注意事项

    本文(计算机组织原理与体系结构课程设计用Java Swing实现简单的计算器功能.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开