Java-GUI学习制作建议计算器(只能实现加减乘除)

在学校边学习边跟老师学习设计的简易计算器

复制代码
package com.gui;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;

import static com.gui.MathCalFrame.*;

/**
 * @Description:
 * @Author: Fancy
 * @Date: 2022/4/21 16:39
 */
public class Test {
    public static void main(String[] args) {
        MathCalFrame mathCalFrame = new MathCalFrame();
        mathCalFrame.display();
    }
}
class MathCalFrame extends JFrame{
    static JTextField tf1,tf2,tf3;
    JButton b1,b2,b3,b4;
    JLabel l;
    MathCalFrame() {
        tf1 = new JTextField(5);
        tf2 = new JTextField(5);
        tf3 = new JTextField(5);
        b1 = new JButton("+");
        b2 = new JButton("-");
        b3 = new JButton("x");
        b4 = new JButton("÷");
        l = new JLabel("=");
        b1.addActionListener(new CalculatorListener());
        b2.addActionListener(new CalculatorListener1());
        b3.addActionListener(new CalculatorListener2());
        b4.addActionListener(new CalculatorListener3());

    }
        void display(){
            this.setLayout(new FlowLayout(7));
            this.add(tf1);
            tf1.setHorizontalAlignment(JTextField.RIGHT);
            JPanel p=new JPanel();
            p.setLayout(new GridLayout(2,1));
            p.add(b1);
            p.add(b2);
            p.add(b3);
            p.add(b4);
            this.add(p);
            this.add(tf2);
            this.add(l);
            this.add(tf3);
            this.pack();
            this.setLocationRelativeTo(null);
            this.setVisible(true);
            this.addWindowListener(new WindowListener() {
                @Override
                public void windowOpened(WindowEvent e) {
                    System.out.println("欢迎");
                }

                @Override
                public void windowClosing(WindowEvent e) {

                }

                @Override
                public void windowClosed(WindowEvent e) {
                    System.exit(0);
                }

                @Override
                public void windowIconified(WindowEvent e) {

                }

                @Override
                public void windowDeiconified(WindowEvent e) {

                }

                @Override
                public void windowActivated(WindowEvent e) {

                }

                @Override
                public void windowDeactivated(WindowEvent e) {

                }
            });
        }
}
class CalculatorListener implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {
        int n1=Integer.parseInt(tf1.getText());
        int n2=Integer.parseInt(tf2.getText());
        tf3.setText("" + (n1 + n2));

    }
}
class CalculatorListener1 implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {
        int n1=Integer.parseInt(tf1.getText());
        int n2=Integer.parseInt(tf2.getText());
        tf3.setText("" + (n1 - n2));

    }
}
class CalculatorListener2 implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {
        int n1=Integer.parseInt(tf1.getText());
        int n2=Integer.parseInt(tf2.getText());
        tf3.setText("" + (n1 * n2));

    }
}
class CalculatorListener3 implements ActionListener{

    @Override
    public void actionPerformed(ActionEvent e) {
        int n1=Integer.parseInt(tf1.getText());
        int n2=Integer.parseInt(tf2.getText());
        tf3.setText("" + (n1 / n2));

    }
}
复制代码

 

 

 

 

 

 

posted @   菜地里的猹  阅读(253)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示