java图形用户界面设计之计算器【加减乘除】

本文介绍了如何使用Java Swing开发一个简单的两位数加减乘除计算器,包括用户界面设计、基本操作实现和清空功能。通过代码展示了文本框和按钮交互,实现基本算术运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写自定义目录标题


1.运行结果显示
实现了简单两位数的加减乘除运算,点击清空可继续下一次的输入
实现了简单两位数的加减乘除运算,点击清空可继续下一次的输入
2.代码的实现
一些代码的注释都在代码里面

package cal;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class JuanQi extends JFrame {

	private JPanel contentPane;
	private JTextField textField;
	private JTextField textField_1;
	private JTextField textField_2;
	private JTextField textField_3;
	private JTextField textField_4;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					JuanQi frame = new JuanQi();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public JuanQi() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		textField = new JTextField();
		textField.setBounds(29, 25, 66, 21);
		contentPane.add(textField);
		textField.setColumns(10);
		
		textField_1 = new JTextField();
		textField_1.setBounds(105, 25, 35, 21);
		contentPane.add(textField_1);
		textField_1.setColumns(10);
		
		textField_2 = new JTextField();
		textField_2.setBounds(150, 25, 66, 21);
		contentPane.add(textField_2);
		textField_2.setColumns(10);
		
		textField_3 = new JTextField("=");
		textField_3.setBounds(226, 25, 35, 21);
		contentPane.add(textField_3);
		textField_3.setColumns(10);
		
		textField_4 = new JTextField();
		textField_4.setBounds(271, 25, 66, 21);
		contentPane.add(textField_4);
		textField_4.setColumns(10);
		
		JButton btnNewButton = new JButton("\u8BA1\u7B97");
		btnNewButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				try
				{
					if(textField_1.getText().equals("+"))//输入的是加号
					{
						//1. 因为从文本框得到的是String类型,不可以进行加减运算的操作
						//  使用Integer.parseInt将字符串转化为int类型进行运算
						//2.setText传入的是字符串,要将刚才转换计算过后的内容再转换回字符串
						//  String.valueOf函数将int类型转换为String类型
						textField_4.setText((String.valueOf(Integer.parseInt(textField.getText())+Integer.parseInt(textField_2.getText()))));
						
					}
					if(textField_1.getText().equals("-"))//输入的是减号
					{
						textField_4.setText((String.valueOf(Integer.parseInt(textField.getText())-Integer.parseInt(textField_2.getText()))));
						
					}
					if(textField_1.getText().equals("*"))//输入的是乘号
					{
						textField_4.setText((String.valueOf(Integer.parseInt(textField.getText())*Integer.parseInt(textField_2.getText()))));
						
					}
					if(textField_1.getText().equals("/"))//输入的是除号
					{
						textField_4.setText((String.valueOf(Integer.parseInt(textField.getText())/Integer.parseInt(textField_2.getText()))));
						
					}
				}
				catch(Exception ee)
				{
					System.out.println("\t捕获异常:"+ee+"\n");
				}
				finally
				{
					//通常使用用来关闭资源代码
				}
				
				
			}
		});
		btnNewButton.setBounds(43, 109, 97, 23);
		contentPane.add(btnNewButton);
		
		JButton btnNewButton_1 = new JButton("\u6E05\u7A7A");
		btnNewButton_1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {//清空按钮的事件
				textField.setText("");		//将文本框里面的内容置空,方便下一次的输入
				textField_1.setText("");
				textField_2.setText("");
				textField_4.setText("");
			}
		});
		btnNewButton_1.setBounds(226, 109, 97, 23);
		contentPane.add(btnNewButton_1);
	}

	protected char[] Integer(String text) {
		// TODO Auto-generated method stub
		return null;
	}
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&小白~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值