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));
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通