java计算器程序_第1页
java计算器程序_第2页
java计算器程序_第3页
java计算器程序_第4页
全文预览已结束

下载本文档

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

文档简介

import java.awt.Container;import java.awt.GridLayout;/*GridLayout 类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。容器被分成大小相等的矩形,一个矩形中放置一个组件*/import java.awt.BorderLayout;/*BorderLayout是一个布置容器的边界布局,它可以对容器组件进行安排,并调整其大小,使其符合下列五个区域:南、北、东、西和中间区域。每个区域最多只能包含一个组件,并通过相应的常量进行标识:NORTH、SOUTH 、EAST、WEST 和 CENTER。当使用边界布局将一个组件添加到容器中时,要使用这五个常量之一*/import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;/* author Administrator*/public class calculator extends JFrame implements ActionListener JFrame jf;JTextField jtf;String b = new String “+“,“-“,“*“,“/“,“.“;JButton jis = new JButton(“=“);private int temp = 0;private float result = 0;private float fnumber = 0, bnumber = 0;public calculator()init();public void init()jf = new JFrame();jtf = new JTextField();Container c = jf.getContentPane();/Returns the contentPane object for this frame. jtf.setHorizontalAlignment(JTextField.RIGHT);/设置文本的水平对齐方式 jtf.setLayout(new GridLayout(); c.add(jtf,BorderLayout.NORTH);/ JPanel jp = new JPanel(); jp.setLayout(new GridLayout(4,4);/对于GridLayout(int rows,int cols)详情请参见API c.add(jp,BorderLayout.CENTER);/*这里刚开始犯了一低级错误,将c写成了jp,逻辑调用都出现了问题*/JButton ja = new JButton10;JButton jb = new JButton5;for(int i = 0; i 10; i+)jai = new JButton(“ + i);jai.addActionListener(this);for(int j = 0; j 5; j+)jbj = new JButton(“ + bj);jbj.addActionListener(this);for(int i = 0; i 10; i+)jp.add(jai);for(int j = 0; j 5; j+)jp.add(jbj);jp.add(jis);jis.addActionListener(this);jf.setSize(200,300);jf.setVisible(true);public void actionPerformed(ActionEvent e)String s = e.getActionCommand();if(s.equals(“+“)this.fnumber = Float.parseFloat(this.jtf.getText();this.jtf.setText(“);this.temp = 1;else if(s.equals(“-“)this.fnumber = Float.parseFloat(this.jtf.getText();this.jtf.setText(“);this.temp = 2;else if(s.equals(“*“)this.fnumber = Float.parseFloat(this.jtf.getText();this.jtf.setText(“);this.temp = 3;else if(s.equals(“/“)this.fnumber = Float.parseFloat(this.jtf.getText();this.jtf.setText(“);this.temp = 4;else if(s.equals(“.“)if(jtf.equals(“)jtf.setText(“0.“);elsejtf.setText(jtf.getText() + “.“);else if(s.equals(“=“)this.bnumber = Integer.parseInt(this.jtf.getText();switch(this.temp)case 1:result = fnumber + bnumber;this.jtf.setText(String.valueOf(result);break;case 2:result = fnumber - bnumber;this.jtf.setText(String.valueOf(result);break;case 3:result = fnumber * bnumber;this.jtf.setText(String.valueOf(result);break;case 4:result = fnumber / bnumber;this.jtf.setText(St

温馨提示

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

最新文档

评论

0/150

提交评论