以前用java写的计算器程序

2008-02-23 09:23:25来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

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()));

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:JBossIDE Eclispe 开发EJB2.1实例[原创]

下一篇:以前用java写的贪吃蛇游戏