GUI练习之计算器

简易计算器
首先要了解输入框的事件监听//Testified

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class TestText01 {
    public static void main(String[] args) {
        //mian方法里面应该只有启动的代码
        new MyFrame2();
    }
}
class  MyFrame2 extends Frame
{
        public  MyFrame2()
        {
            TextField textField = new TextField();
            add(textField);

            //监听整个文本框输入的文字
            MyActionListener2 myActionListener2=new MyActionListener2();
           //按下enter 会触发e.getsource监听事件
            textField.addActionListener(myActionListener2);
            setVisible(true);
            pack();
            //可以设置替换编码
            textField.setEchoChar('*');
        }
}
class MyActionListener2 implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {
        TextField field =(TextField) e.getSource();//获得一些资源,返回的一个对象
        System.out.println(field.getText());//获得输入框的文本
        field.setText("");//输入置为空
    }
}

简易加法计算器

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

//简易计算机器
public class TextCalc {
    public static void main(String[] args) {
    new Calculator();
    }
}
//计算器类
class Calculator extends Frame{
    public  Calculator()
    {
        //3个文本框
        TextField num1 = new TextField(10);
        TextField num2 = new TextField(10);
        TextField num3 = new TextField(20);//zifushu
        //1个标签
        Label label = new Label("+");
        //1个按钮
        Button button = new Button("=");
        button.addActionListener(new MyCalculatorListener(num1,num2,num3));
        //布局
        setLayout(new FlowLayout());
        add(num1);
        add(label);
        add(num2);
        add(button);
        add(num3);
        setVisible(true);
        pack();
    }
}
//***
class MyCalculatorListener implements ActionListener
{ //获取三个变量
    private TextField num1,num2,num3;
        //把整个
    public MyCalculatorListener(TextField num1,TextField num2,TextField num3)
    {
            this.num1=num1;
            this.num2=num2;
            this.num3=num3;

    }
    @Override
    public void actionPerformed(ActionEvent e)
    {
        //1.获得加数和被加数
        int n1= Integer.parseInt(num1.getText());
        int n2= Integer.parseInt(num2.getText());//文本框内由string转换
        //加法运算后放到第三个框内
        num3.setText(""+(n1+n2));
        //清除前三个框
        num1.setText("");
        num2.setText("");
    }

}

图片说明

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务