我是靠谱客的博主 无聊纸鹤,最近开发中收集的这篇文章主要介绍基于Java的awt的加减乘除计算器(基本已过时,练手即可)基于awt的加减乘除简易计算器(基本已过时,练手即可),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

基于awt的加减乘除简易计算器(基本已过时,练手即可)

整体思路

我们需要一个frame窗体,采用一列四行的布局(这里就需要用到gridLayout这个表格布局了)。

一列四行,所以要四个panel容器,每个panel容器对应一种运算。

每个panel容器各需要三个文本框TextField(前两个文本框作输入框,第三个作输出结果框)。

每个panel容器还各需要一个label标签(显示“+”,“-”,“*”,“/”)和一个button按钮(显示“=”,点击后进行运算并显示结果,所以需要写各自的监听器)。

当然了,也可以根据label标签的不同来写不同的方法进行计算。

整体代码在文章最后。

设计前台

12个文本框 + - * /各三个文本框

4个按钮 分别调用+ - * /事件监听器

4个标签

布局 4行1列 每行一个panel 每个panel装一个式子

整体界面
在这里插入图片描述

±*/四个监听器

各个监听器类都类似,以一个监听器类内容为例。

写个带三个参数的构造方法,从前台得到三个变量(类型为TextField)。

先要从前台两个文本框获取两个数(这里文本转成了double型)。

然后计算得到的值在第三个框以字符串形式输出(输出的时候用""+(计算得到的数)
的形式)。

所有代码

package com.cyz;

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

//简易计算器
public class TestCalculator {
    public static void main(String[] args) {
        new Calculator();
    }
}

//计算器类
class Calculator extends Frame{
    public Calculator(){
        //12个文本框  + - * /各三个文本框
        TextField num1 = new TextField(10);//字符数
        TextField num2 = new TextField(10);//字符数
        TextField num3 = new TextField(20);//字符数

        TextField num4 = new TextField(10);//字符数
        TextField num5 = new TextField(10);//字符数
        TextField num6 = new TextField(20);//字符数

        TextField num7 = new TextField(10);//字符数
        TextField num8 = new TextField(10);//字符数
        TextField num9 = new TextField(20);//字符数

        TextField num10 = new TextField(10);//字符数
        TextField num11 = new TextField(10);//字符数
        TextField num12 = new TextField(20);//字符数

        //4个按钮 分别调用+ - * /事件监听器
        Button button1 = new Button("=");
        Button button2 = new Button("=");
        Button button3 = new Button("=");
        Button button4 = new Button("=");

        button1.addActionListener(new MyCalculatorAddListener(num1,num2,num3));
        button2.addActionListener(new MyCalculatorSubstractListener(num4,num5,num6));
        button3.addActionListener(new MyCalculatorMultiplyListener(num7,num8,num9));
        button4.addActionListener(new MyCalculatorDivideListener(num10,num11,num12));

        //4个标签
        Label label1 = new Label("+");
        Label label2 = new Label("-");
        Label label3 = new Label("*");
        Label label4 = new Label("/");

        //布局 4行1列 每行一个panel 每个panel装一个式子
        GridLayout gridLayout = new GridLayout(4,1);
        Panel panel1 = new Panel();
        Panel panel2 = new Panel();
        Panel panel3 = new Panel();
        Panel panel4 = new Panel();

        //将式子填到panel里  将panel填到gridlayout里
        panel1.add(num1);
        panel1.add(label1);
        panel1.add(num2);
        panel1.add(button1);
        panel1.add(num3);
        add(panel1);

        panel2.add(num4);
        panel2.add(label2);
        panel2.add(num5);
        panel2.add(button2);
        panel2.add(num6);
        add(panel2);

        panel3.add(num7);
        panel3.add(label3);
        panel3.add(num8);
        panel3.add(button3);
        panel3.add(num9);
        add(panel3);

        panel4.add(num10);
        panel4.add(label4);
        panel4.add(num11);
        panel4.add(button4);
        panel4.add(num12);
        add(panel4);

        setLayout(gridLayout);


        //整个frame的基本设置
        setTitle("计算器");
        setVisible(true);
        setSize(1000,500);
        setLocation(450,300);

        //添加关闭窗口事件
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

    }


}

//加法监听器类
class MyCalculatorAddListener implements ActionListener{
    //获取三个变量
    private TextField num1,num2,num3;

    public MyCalculatorAddListener(TextField num1,TextField num2,TextField num3){
        this.num1 = num1;
        this.num2 = num2;
        this.num3 = num3;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        //获得加数和被加数
        double add1 = Double.parseDouble(num1.getText());
        double add2 = Double.parseDouble(num2.getText());

        //将这个值加法运算后,放到第三个框
        num3.setText(""+(add1+add2));

        /*
        //清除前两个框
        num1.setText("");
        num2.setText("");
        */
    }
}

//减法监听器类
class MyCalculatorSubstractListener implements ActionListener{
    //获取三个变量
    private TextField num4,num5,num6;

    public MyCalculatorSubstractListener(TextField num4,TextField num5,TextField num6){
        this.num4 = num4;
        this.num5 = num5;
        this.num6 = num6;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        //获得减数和被减数
        Double substract1 = Double.parseDouble(num4.getText());
        Double substract2 = Double.parseDouble(num5.getText());

        //做减法后将第三个值输出到框内
        num6.setText(""+(substract1-substract2));

        /*
        //清空前两个框
        num4.setText("");
        num5.setText("");
        */
    }
}

//乘法监听器类
class  MyCalculatorMultiplyListener implements ActionListener{
    //获取三个变量
    private TextField num7,num8,num9;

    public MyCalculatorMultiplyListener(TextField num7,TextField num8,TextField num9){
        this.num7 = num7;
        this.num8 = num8;
        this.num9 = num9;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        //获得乘数和被乘数
        Double multiply1 = Double.parseDouble(num7.getText());
        Double multiply2 = Double.parseDouble(num8.getText());

        //做乘法后将第三个值输出到框内
        num9.setText(""+(multiply1*multiply2));

        /*
        //清空前两个框
        num7.setText("");
        num8.setText("");
        */
    }
}

//除法监听器类
class  MyCalculatorDivideListener implements ActionListener{
    //获取三个变量
    private TextField num10,num11,num12;

    public MyCalculatorDivideListener(TextField num10,TextField num11,TextField num12){
        this.num10 = num10;
        this.num11 = num11;
        this.num12 = num12;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        //获得除数和被除数
        Double devide1 = Double.parseDouble(num10.getText());
        Double devide2 = Double.parseDouble(num11.getText());

        //做除法后将第三个值输出到框内
        num12.setText(""+(devide1/devide2));

        /*
        //清空前两个框
        num10.setText("");
        num11.setText("");
        */
    }
}

最后

以上就是无聊纸鹤为你收集整理的基于Java的awt的加减乘除计算器(基本已过时,练手即可)基于awt的加减乘除简易计算器(基本已过时,练手即可)的全部内容,希望文章能够帮你解决基于Java的awt的加减乘除计算器(基本已过时,练手即可)基于awt的加减乘除简易计算器(基本已过时,练手即可)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部