事件监听 计算器

package 事件监听;
import java.awt.*;
import java.awt.event.*;
public class Event extends Frame implements ActionListener {
 private Button button1;

public Event() //导入AWT包
  {
   super("个人信息");           //窗口标题
      this.setSize(280,300);    //组件尺寸
      this.setLocation(300, 240);  //组件的显示位置
      this.setBackground(Color.blue);  //组件的背景颜色
      this.setLayout(new FlowLayout());   //容器为流布局,居中
      this.add(new Label("姓名"));          //标签,添加到框架上
      this.add(new TextField("小小青",30));   //文本行,30列
      this.add(new Label("性别"));
      this.add(new TextField("女",30));
      this.add(new Label("爱好"));
      this.add(new TextField("打篮球",30));
      button1=new Button("OK");
       this.add(button1);
       button1.addActionListener(this);
       this.addWindowListener(new WinClose());
       this.setVisible(true);
  }
  public void actionPerformed(ActionEvent ev)
  {
   if(ev.getSource()==button1)
   {
    System.out.print("welcome\n");
   
   }
  }
  public static void main(String arg[])
  {
   new Event();
  }
      class WinClose implements WindowListener
  {
   public void windowClosing(WindowEvent ev)
   {
    System.exit(0);
   }
   public void windowOpened(WindowEvent ev) {}
   public void windowActivated(WindowEvent ev) {}
   public void windowDeactivated(WindowEvent ev) {}
   public void windowClose(WindowEvent ev) {}
   public void windowIconified(WindowEvent ev) {}
   public void windowDeiconified(WindowEvent ev) {}
   @Override
   public void windowClosed(WindowEvent arg0) {}
  }
}

package 计算器;
import java.awt.*; 
import java.awt.event.*;

public  class Calculator extends Frame implements ActionListener {
 private double a=0, b=0, sum=0; 
    int flag=0, count=0,p=1; 
    char mode=‘?‘;  //本次运算的符号 
    private TextField display = new TextField(); 
    private Button one = new Button("1"); 
    private Button two = new Button("2"); 
    private Button three = new Button("3"); 
    private Button four = new Button("4"); 
    private Button five = new Button("5"); 
    private Button six = new Button("6"); 
    private Button seven = new Button("7"); 
    private Button eight = new Button("8"); 
    private Button nine = new Button("9"); 
    private Button zero = new Button("0"); 
    private Button point = new Button("."); 
    private Button add = new Button("+"); 
    private Button sub = new Button("-"); 
    private Button mul = new Button("×"); 
    private Button div = new Button("÷"); 
    private Button result = new Button("="); 
    private Button clr = new Button("CLR"); 
    private Button quit = new Button("quit"); 
    private Label label = new Label("calculator"); 
     
    private class WindowCloser extends WindowAdapter{ 
        public void windowClosing(WindowEvent we) 
        {   System.exit(0); } 
    } 
    //布局 
    private void setup() { 
        Panel top = new Panel(); 
        top.setLayout(new GridLayout(2,1)); 
        top.add(label); 
        top.add(display); 
        Panel number = new Panel(); 
        number.setLayout(new GridLayout(6,3)); 
        number.add(one); number.add(four); number.add(seven); 
        number.add(two); number.add(five); number.add(eight); 
        number.add(three); number.add(six); number.add(nine); 
        number.add(zero); number.add(add); number.add(sub); 
        number.add(point); number.add(mul); number.add(div); 
        number.add(result); number.add(clr); number.add(quit); 
        setLayout(new BorderLayout()); add("North",top); 
        add("South",number); 
    } 
     
    //构造方法 
    public Calculator() { 
        super("Calculator"); 
        setup(); 
        one.addActionListener(this); 
        two.addActionListener(this); 
        three.addActionListener(this); 
        four.addActionListener(this); 
        five.addActionListener(this); 
        six.addActionListener(this); 
        seven.addActionListener(this); 
        eight.addActionListener(this); 
        nine.addActionListener(this); 
        zero.addActionListener(this); 
        point.addActionListener(this); 
        add.addActionListener(this); 
        sub.addActionListener(this); 
        mul.addActionListener(this); 
        div.addActionListener(this); 
        clr.addActionListener(this); 
        quit.addActionListener(this); 
        result.addActionListener(this); 
        addWindowListener(new WindowCloser()); 
        pack(); setSize(200,222); 
        setVisible(true); 
    } 
    void reset0() { 
        a=0; b=0; count=0; sum=0; p=1; mode=‘?‘; 
    } 
    void setAndDis(char c) { 
        count=0; flag=0; 
        a=Double.parseDouble(display.getText()); 
        mode=c; 
    } 
    //说明单击按钮以后要采取的行动 
    public void actionPerformed(ActionEvent ae) { 
        if(ae.getSource() == quit) 
            System.exit(0); 
        if(ae.getSource() == clr) { 
            reset0(); 
            flag=0; 
            display.setText("0"); 
        }else if(ae.getSource() == zero) { 
            if(count != 0) { 
                reset0(); 
            } 
            if(flag == 0) { 
                display.setText("0"); 
                flag=1; 
            }else display.setText(display.getText()+"0"); 
        } 
        //输入0~9 
        if(ae.getSource() == one) { 
            if(count != 0) { 
                reset0(); 
            }if(flag == 0||display.getText().equals("0")) { 
                display.setText("1"); 
                flag=1; 
            }else display.setText(display.getText()+"1"); 
        } 
         
        if(ae.getSource() == two) 
        { 
            if(count != 0) { 
                reset0(); 
            } 
            if(flag == 0||display.getText().equals("0")) { 
                display.setText("2"); 
                flag=1; 
            }else display.setText(display.getText()+"2"); 
        } 
         
        if(ae.getSource() == three) 
        { 
            if(count != 0) { 
                reset0(); 
            } 
            if(flag == 0||display.getText().equals("0")) { 
                display.setText("3"); 
                flag=1; 
            }else display.setText(display.getText()+"3"); 
        } 
         
        if(ae.getSource() == four) 
        { 
            if(count != 0) { 
                reset0(); 
            } 
            if(flag == 0||display.getText().equals("0")) { 
                display.setText("4"); 
                flag=1; 
            }else display.setText(display.getText()+"4"); 
        } 
         
        if(ae.getSource() == five) 
        { 
            if(count != 0) { 
                reset0(); 
            } 
            if(flag == 0||display.getText().equals("0")) { 
                display.setText("5"); 
                flag=1; 
            }else display.setText(display.getText()+"5"); 
        } 
         
        if(ae.getSource() == six) 
        { 
            if(count != 0) { 
                reset0(); 
            } 
            if(flag == 0||display.getText().equals("0")) { 
                display.setText("6"); 
                flag=1; 
            }else display.setText(display.getText()+"6"); 
        } 
         
        if(ae.getSource() == seven) 
        { 
            if(count != 0) { 
                reset0(); 
            } 
            if(flag == 0||display.getText().equals("0")) { 
                display.setText("7"); 
                flag=1; 
            }else display.setText(display.getText()+"7"); 
        } 
         
        if(ae.getSource() == eight) 
        { 
            if(count != 0) { 
                reset0(); 
            } 
            if(flag == 0||display.getText().equals("0")) { 
                display.setText("8"); 
                flag=1; 
            }else display.setText(display.getText()+"8"); 
        } 
         
        if(ae.getSource() == nine) 
        { 
            if(count != 0) { 
                reset0(); 
            } 
            if(flag == 0||display.getText().equals("0")) { 
                display.setText("9"); 
                flag=1; 
            }else display.setText(display.getText()+"9"); 
        } 
         
        if(ae.getSource() == point) { 
            if(flag == 1 && p != 0) { 
                display.setText(display.getText()+"."); 
                p=0; 
            } 
        } 
        //输入+,-,×,÷ 
        if(ae.getSource() == add) { 
            setAndDis(‘+‘); 
        } 
        if(ae.getSource() == sub) { 
            setAndDis(‘-‘); 
        } 
        if(ae.getSource() == mul) { 
            setAndDis(‘ב); 
        } 
        if(ae.getSource() == div) { 
            setAndDis(‘÷‘); 
        } 
         
        if((ae.getSource() == result)&&mode != ‘?‘) { 
            flag=0; 
            if(count == 0) { 
                b=Double.parseDouble(display.getText()); 
                count=1; 
            } 
            sum=run(a,b,mode); 
            a=sum; 
            display.setText(String.valueOf(sum)); 
        }        
    } 
    public double run(double a, double b, char mode) { 
        double sum=0; 
        if(mode == ‘+‘) sum=a+b; 
        if(mode == ‘-‘) sum=a-b; 
        if(mode == ‘ב) sum=a*b; 
        if(mode == ‘÷‘) sum=a/b; 
        return(sum); 
    } 
    public static void main(String[] args) { 
        Calculator cal = new Calculator(); 
    }

}

0*4=0.0

0/6=0.0

3/0=Infinity

1+4=5.0

原文地址:https://www.cnblogs.com/4910yxq/p/9226584.html

时间: 2024-10-13 14:50:18

事件监听 计算器的相关文章

事件监听 计算器界面

1.事件监听: package 事件监听;import java.awt.*;import java.awt.event.*;public  class Frame2 extends Frame implements ActionListener{ private Button button1; public Frame2() {  super("个人信息");      this.setSize(250,220);//设计组件的尺寸      this.setLocation(800

JAVA 图形开发之计算器设计(事件监听机制)

/*文章中用到的代码只是一部分,需要源码的可通过邮箱联系我 [email protected]*/ 前段时间刚帮同学用MFC写了个计算器,现在学到JAVA的图形开发,就试着水了一个计算器出来.(可以说是一个水的不能再水的计算器了,感觉MFC真好用) 既然是设计计算器,首先肯定是要做一个计算器界面出来了,但面对JAVA容器的两种布局,想把按钮放整齐真的是一件比较难的事,我就直接用了坐标法贴图(上篇博客中有介绍).这是我设计的界面 界面设计完了,下面就要开始实现按按钮输入数据.这时就需要使用事件监听

事件监听与计算机界面

1.事件监听 package 事件监听;import java.awt.*;import java.awt.event.*; public  class Frame2 extends Frame implements ActionListener{ private Button button1; public Frame2() {  super("个人信息");      this.setSize(250,200);//设计组件的尺寸      this.setLocation(800

事件监听 计算机界面

1.事件监听: package 事件监听;import java.awt.*;import java.awt.event.*;public  class Frame2 extends Frame implements ActionListener{ private Button button1; public Frame2() {  super("个人信息");      this.setSize(250,220);//设计组件的尺寸      this.setLocation(800

屏幕触摸事件监听,判断上下左右的操作行为,判断方法缩小的操作行为

在手机屏幕上能够实现的人机交互行为,大致包括点击按钮,拉动滑动块,物体缩放,上下左右拉动等. 手机屏幕触摸事件的监听方法: 1.首先要设置一块布局区域,frameLayout/LinearLayout等都可以,并为布局设置id: 2.在Activity中声明相应的布局类型,并通过findViewById()方法找到该布局,然后为该布局区域设置setOnTouchListener()方法,就能监听在相应屏幕触摸操作 实现屏幕触摸事件监听的代码: private LinearLayout Land;

JavaScript-4.5 事件大全,事件监听---ShinePans

绑定事件 <input type="bubtton" onclick="javascript:alert('I am clicked');"> 处理事件 <script language="JavaScript" for="对象" event="事件"> ... (事件处理代码) ... </script> 鼠标事件举例 <script language="

[基础控件]---状态切换控件CompoundButton及其子类CheckBox、RadioButton、ToggleButton、switch事件监听与场景使用

一.事件监听 对于普通的Button,对其进行事件监听Google官方给出了常见的三种监听方式:1.对每一个button设置事件监听器button.setOnClickListener(View.OnclickListener  listener);此种方法当button按钮较多时代码显得多.乱.不够简洁明了. 2.在Activity中实现接口View.OnclickListener,然后重写void onClick(View v)方法,在方法中通过switch(v.getId())予以区分不同

Windows 8 应用程序前后台切换事件监听

在一些情况下,我们需要监听应用程序切换到后台或者从后台切换至前台的事件,从而进行相关处理操作.支付宝应用锁屏(IOS,Android平台)的处理中就需要监听此事件,在用户将应用切换至后台一段时间后再切换至前台的情况下就需要弹出锁屏页面. 下图给出Windows 应用商店应用的生命周期图,应用前后台切换就是在运行和挂起直接进行切换,关于生命周期的详细介绍可以参阅官方文档:http://msdn.microsoft.com/zh-cn/library/windows/apps/hh464925.as

Java中的事件监听机制

鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动作发生在哪个组件上,那么该组件就是事件源对象 2.事件监听方法: addMouseListener(MouseListener ml) ;该方法主要用来捕获鼠标的释放,按下,点击,进入和离开的动作:捕获到相应的动作后,交由事件处理类(实现MouseListener接口)进行处理. addAction