一个精简的计算器源码
来源:互联网 发布:avi视频下载软件 编辑:程序博客网 时间:2024/05/29 03:15
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Counter extends JFrame implements ActionListener{
private JButton numBu[]=new JButton[11];
private JButton mathBu[]=new JButton[4];
private JButton Bu1=new JButton("=");
private String str[]={"+","-","*","/"};
private JPanel pan=new JPanel();
private JTextField tf=new JTextField();
private double startNum,endNum;
private boolean isAdd,isDelet,isChen,isChu=false ;
private boolean isEnd =true;
public Counter() {
super("计算器模拟");
setSize(400,300);
Container c=getContentPane();
c.setLayout(new BorderLayout());
tf.setHorizontalAlignment(JTextField.RIGHT);
tf.setForeground(Color.blue);
tf.setFont(new Font("TimesRoman",Font.BOLD,30));
tf.setBackground(Color.pink);tf.setEditable(false);
c.add(tf,"North");
for(int n=0;n<10;n++){
numBu[n]=new JButton(n+"");
numBu[n].setBackground(Color.green);
numBu[n].addActionListener(this);
}
numBu[10]=new JButton(".");
Bu1.setBackground(Color.green);
numBu[10].setBackground(Color.green);
numBu[10].addActionListener(this);
for(int n=0;n<4;n++){
mathBu[n]=new JButton(str[n]);
mathBu[n].setBackground(Color.green);
mathBu[n].addActionListener(this);
}
pan.setLayout(new GridLayout(4,4));
for(int n=0;n<4;n++){
if(n!=3)
for(int i=1;i<=3;i++) pan.add(numBu[3*n+i]);
else {
pan.add(numBu[0]); pan.add(numBu[10]); pan.add(Bu1); }
pan.add(mathBu[n]);
}
Bu1.addActionListener(this);
c.add(pan,"Center");
show();
}
public static void main(String[] args) {
Counter c=new Counter();
}
private String s=null;
public void actionPerformed(ActionEvent e) {
//给 数字 按纽添加事件处理
for(int n=0;n<11;n++){
if(e.getSource()==numBu[n]){
//判断是否继续在屏幕输入
if(isEnd){
tf.setText("空格");
isEnd =false; }
s=tf.getText();
if(s.equals("空格"))
tf.setText(e.getActionCommand());
else{
s=s + e.getActionCommand();
tf.setText(s);
}
}
}
//给 运算 按纽添加事件处理
if(e.getSource()==mathBu[0]){
startNum=Double.valueOf(tf.getText()).doubleValue();
isEnd=true;isAdd=true;}
if(e.getSource()==mathBu[1]){
startNum=Double.valueOf(tf.getText()).doubleValue()*(-1);
isEnd=true;isDelet=true;}
if(e.getSource()==mathBu[2]){
startNum=Double.valueOf(tf.getText()).doubleValue();
isEnd=true;isChen=true;}
if(e.getSource()==mathBu[3]){
startNum=Double.valueOf(tf.getText()).doubleValue();
isEnd=true;isChu=true;}
//给 等号 按纽添加事件处理
if(e.getSource()==Bu1){
endNum=Double.valueOf(tf.getText()).doubleValue();
if(isAdd){
tf.setText((startNum+endNum)+"");
isAdd=false;isEnd=true;
}
if(isDelet){
tf.setText((startNum-endNum)+"");isDelet=false;isEnd=true;
}
if(isChen){
tf.setText((startNum*endNum)+"");isChen=false;isEnd=true;
}
if(isChu&&endNum!=0){
tf.setText((startNum/endNum)+"");isChu=false;isEnd=true;
}
}
}
}
--------------------------------------------------------------
- 一个精简的计算器源码
- 一个java开发的超精简计算器。
- 一个简单的java计算器源码分析
- 一个用wxpython编写的计算器源码
- 自己用C#编的一个计算器(含源码)
- 用NetBeans写的一个简单计算器,源码如下
- java计算器精简版
- 一个精简的string类
- 一个精简的string类
- 一个精简的缓存器
- 打造一个精简的BaseActivity
- 一个简单的计算器
- 一个简单的计算器
- 一个用安卓写的计算器
- 一个简单的计算器
- 一个有趣的计算器
- 一个像样的计算器
- 一个简单的计算器
- 用VS 2008开发WCF(一)——最快速的WCF入门
- linux使用及其FFmpeg的安装
- 一个图片滚动js
- 背下这18条来没人敢和你忽悠CPU(转)
- 从以巴冲突看项目管理在现代战争中的运用
- 一个精简的计算器源码
- 寓言式的领导智慧
- 第一篇博客文章,测试一下
- 中国、欧洲、美国的商业开源
- 史玉柱简历
- 拍案叫绝:一句话说尽管理精髓
- 成功大客户经理的3大必备条件
- 用VS 2008开发WCF(二)——构建最初的服务器
- mysql ---- mysql error 2003(装上数据库后重起电脑提示联接不上)