手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

以前用java写的计算器程序

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

import Java.awt.*;

import java.awt.event.*;

import javax.Swing.*;

public class Calculator extends JFrame


{


private Container container;


private GridBagLayout layout;


private GridBagConstraints constraints;


private JTextField displayField;//计算结果显示区


private String lastCommand;//保存 ,-,*,/,=命令


private double result;//保存计算结果


private boolean start;//判断是否为数字的开始



public Calculator()


{


super("Calculator");


container=getContentPane();


layout=new GridBagLayout();


container.setLayout(layout);


constraints=new GridBagConstraints();

start=true;


result=0;


lastCommand = "=";

displayField=new JTextField(20);


displayField.setHorizontalAlignment(JTextField.RIGHT);


constraints.gridx=0;


constraints.gridy=0;


constraints.gridwidth=4;


constraints.gridheight=1;


constraints.fill=GridBagConstraints.BOTH;


constraints.weightx=100;


constraints.weighty=100;


layout.setConstraints(displayField,constraints);


container.add(displayField);

ActionListener insert = new InsertAction();


ActionListener command = new CommandAction();



addButton("Backspace",0,1,2,1,insert);


addButton("CE",2,1,1,1,insert);


addButton("C",3,1,1,1,insert);

addButton("7",0,2,1,1,insert);


addButton("8",1,2,1,1,insert);


addButton("9",2,2,1,1,insert);


addButton("/",3,2,1,1,command);


addButton("4",0,3,1,1,insert);


addButton("5",1,3,1,1,insert);


addButton("6",2,3,1,1,insert);


addButton("*",3,3,1,1,command);


addButton("1",0,4,1,1,insert);


addButton("2",1,4,1,1,insert);


addButton("3",2,4,1,1,insert);


addButton("-",3,4,1,1,command);


addButton("0",0,5,1,1,insert);


addButton(" /-",1,5,1,1,insert);//只显示"-"号," "没有实用价值


addButton(".",2,5,1,1,insert);


addButton(" ",3,5,1,1,command);


addButton("=",0,6,4,1,command);


setSize(300,300);


setVisible(true);


}


private void addButton(String label,int row,int column,int with,int height,ActionListener listener)


{


JButton button=new JButton(label);



constraints.gridx=row;


constraints.gridy=column;


constraints.gridwidth=with;


constraints.gridheight=height;



constraints.fill=GridBagConstraints.BOTH;



button.addActionListener(listener);


layout.setConstraints(button,constraints);


container.add(button);


}


private class InsertAction implements ActionListener


{


public void actionPerformed(ActionEvent event)


{


String input=event.getActionCommand();


if (start)


{


displayField.setText("");


start=false;



if(input.equals(" /-"))


displayField.setText(displayField.getText() "-");


}


if(!input.equals(" /-"))


{


if(input.equals("Backspace"))


{


String str=displayField.getText();


if(str.length()>0)


displayField.setText(str.substring(0,str.length()-1));


}


else if(input.equals("CE")||input.equals("C"))


{


displayField.setText("0");


start=true;


}


else


displayField.setText(displayField.getText() input);


}


}


}


private class CommandAction implements ActionListener


{


public void actionPerformed(ActionEvent evt)


{


String command=evt.getActionCommand();


if(start)


{


lastCommand=command;


}


else


{


calculate(Double.parseDouble(displayField.getText()));

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!