计算器源程序代码
来源:互联网 发布:js文件怎么写jquery 编辑:程序博客网 时间:2024/06/06 16:27
import java.awt.*;
import java.awt.event.*;
public class computer implements ActionListener{
//定义计算器所需要的得变量
static Frame f;//框架
static Panel p;//面板
static Button button0,button1,button2,button3,button4,button5,button6,
button7,button8,button9,button10,button11,button12,button13,button14,button15;//按钮
static int numflag,rflag,opcode;//整型变量
static float num1,num2,result;//浮点型变量
static TextField tf;//文本区,用以显示结果
public static void main(String gras[])
{
computer c=new computer();
c.createframe();
c.createpanel();
c.createcom();
c.addcom();
c.addpanel();
num1=0;num2=0;result=0;opcode=0;numflag=1;//初次运行前清零
c.addlistener();
}
public void createframe()//创建框架
{
f=new Frame("计算器");
f.setSize(300,300);
f.setBackground(Color.green);
}
public void createpanel()//创建面板
{
p=new Panel();
p.setSize(240,240);
p.setBackground(Color.blue);
}
public void createcom()//创建按钮及文本框,用以显示0~9和+-*/
{
button1=new Button("1");
button2=new Button("2");
button3=new Button("3");
button4=new Button("4");
button5=new Button("5");
button6=new Button("6");
button7=new Button("7");
button8=new Button("8");
button9=new Button("9");
button0=new Button("0");
button11=new Button("+");
button12=new Button("-");
button13=new Button("*");
button14=new Button("/");
button15=new Button("=");
button10=new Button("清零");
tf=new TextField(15);
}
public void addcom()//将按钮添加到面板
{
p.setLayout(new GridLayout(4,4,1,1));
p.add(button0);
p.add(button15);
p.add(button10);
p.add(button11);
p.add(button1);
p.add(button2);
p.add(button3);
p.add(button12);
p.add(button4);
p.add(button5);
p.add(button6);
p.add(button13);
p.add(button7);
p.add(button8);
p.add(button9);
p.add(button14);
}
public void addpanel()//将面板添加到框架
{
tf.setBounds(10,10,280,40);
f.add("North",tf);f.add("Center",p);
f.setVisible(true);
}
public void addlistener()//将组建与监听器相连
{
button0.addActionListener(this);
button1.addActionListener(this);
button2.addActionListener(this);
button3.addActionListener(this);
button4.addActionListener(this);
button5.addActionListener(this);
button6.addActionListener(this);
button7.addActionListener(this);
button8.addActionListener(this);
button9.addActionListener(this);
button10.addActionListener(this);
button11.addActionListener(this);
button12.addActionListener(this);
button13.addActionListener(this);
button14.addActionListener(this);
button15.addActionListener(this);
f.addWindowListener(new MyWindowListener());
}
public void actionPerformed(ActionEvent e)//事件处理方法
{
if(e.getSource()==button0)
{
if(numflag==1) num1=num1*10+0;
else num2=num2*10+0;}
else if(e.getSource()==button1){
if(numflag==1) num1=num1*10+1;
else num2=num2*10+1;}
else if(e.getSource()==button2){
if(numflag==1) num1=num1*10+2;
else num2=num2*10+2;}
else if(e.getSource()==button3){
if(numflag==1) num1=num1*10+3;
else num2=num2*10+3;}
else if(e.getSource()==button4){
if(numflag==1) num1=num1*10+4;
else num2=num2*10+4;}
else if(e.getSource()==button5){
if(numflag==1) num1=num1*10+5;
else num2=num2*10+5;}
else if(e.getSource()==button6){
if(numflag==1) num1=num1*10+6;
else num2=num2*10+6;}
else if(e.getSource()==button7){
if(numflag==1) num1=num1*10+7;
else num2=num2*10+7;}
else if(e.getSource()==button8){
if(numflag==1) num1=num1*10+8;
else num2=num2*10+8;}
else if(e.getSource()==button9){
if(numflag==1) num1=num1*10+9;
else num2=num2*10+9;}
else if(e.getSource()==button10){
num1=0;num2=0;result=0;opcode=0;numflag=1;}
else if(e.getSource()==button11){
num1=Float.parseFloat(tf.getText());
numflag=0;opcode=1;}
else if(e.getSource()==button12){
numflag=0;opcode=2;}
else if(e.getSource()==button13){
numflag=0;opcode=3;}
else if (e.getSource()==button14){
numflag=0;opcode=4;}
else{
num2=Float.parseFloat(tf.getText());
if(opcode==1) result=num1+num2;
else if(opcode==2) result=num1-num2;
else if(opcode==3) result=num1*num2;
else result=num1/num2;
numflag=3;
tf.setText(String.valueOf(result));
}
if(numflag==3) tf.setText(String.valueOf(result));
else if(numflag==1) tf.setText(String.valueOf(num1));
else tf.setText(String.valueOf(num2));
}
}
class MyWindowListener extends WindowAdapter{//关闭窗口
public void windowClosing(WindowEvent e)
{
System.exit(1);
}
}
- 计算器源程序代码
- C#代码统计源程序
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- 计算器代码
- RS485读写源程序 VC++代码
- 下载网页源程序AJAX代码
- 代码实例:JSP分页源程序
- 大量JSP源程序代码出售
- 代码实例:JSP分页源程序
- (四)修改源程序代码
- 有趣的linux命令(English)
- java中的基本数据类型长度
- 两种方式--使编辑控件的滚动条自动滚动
- 安装ALSA声卡驱动程序
- WINDOWS SERVER 2003 浏览器安全等级修改
- 计算器源程序代码
- java 打包jar文件
- 怎么下载google code 上的源代码?
- 博客转到百度空间
- 2009年12月27日
- arguments的caller,callee
- 2009年总结与2010年展望
- 100个和尚分100个馒头的几种算法(C语言,Js,Vbscript)
- [书摘]一些对程序员有用的古语