终于完成了我第二个用事件做的项目,就是简单计算器的实现。这个计算器是仿造windows xp下的计算器制作的。
我们的计算器要实现有以下功能:
退格、清除当前、清除、数字按钮、三角函数、正负号、点、四则运算、开根号、百分号、倒数。
我们不妨分为三类:
基础按钮:数字按钮、退格、清除
单位运算:三角函数、正负号、点、百分号、倒数
双位运算:四则运算
首先我们要看一下窗体的布局,默认的是边框布局,那我们不妨就用边框布局啦~
北部是一个文本输入框,中间是有很多很多按钮的面板。
我们先做北部,记得把文本框设置为不可编辑。
public JPanel panelnorth() { JPanel panel = new JPanel(); // 设文本框大小 tf.setPreferredSize(new Dimension(50, 50)); tf.setFont(new Font("宋体",Font.BOLD,19)); // 设置不可编辑 tf.setEditable(false); // 设置右对齐 tf.setHorizontalAlignment(SwingConstants.RIGHT); tf.setOpaque(false); // 将文本框添加至窗体 panel.add(tf); // 返回北面窗体对象 return panel; }
首先我们添加数字按钮,以0为例:
//设置按钮0 JButton jbu = new JButton("0"); //给按钮添加监听器 jbu.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //如果当前窗口就为0,就设置当前窗口为0 if (tf.getText().equals("0")) { tf.setText("0"); } else { //否则就会在文本后添加0 tf.setText(tf.getText() + "0"); } } });
然后是后退按钮:
//实例化一个后退按钮 JButton jbu = new JButton("Backspace"); //给后退按钮加监听器 jbu.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //获取文本框的字体 String temp = tf.getText(); //减少最后的一个字符 temp = temp.substring(0, temp.length() - 1); //设置文本框的内容 tf.setText(temp); } });
清屏按钮:
//设置按钮clear JButton jbu = new JButton("C"); //给按钮添加监听器 jbu.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //初始化所有文本 a = 0;b = 0;sign = ' ';bol = false; //设置文本框为0 tf.setText("0"); } });
接下来是简答的单位运算,我们以开根号为例:
//添加按钮开根号 JButton jbu9 = new JButton("sqrt"); //给按钮添加监听器 jbu9.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ //获取文本框内容转化为数字 double temp = Double.parseDouble(tf.getText()); //给数字开根号 temp = Math.sqrt(temp); //将数字转化为字符串添加到文本框中 tf.setText(Double.toString(temp)); //设置为可计算 bol = true; } });
双位运算,我们首先声明变量:
private char sign = ' '; private double a = 0, b = 0; private boolean bol = false;
sign代表运算符号,a代表第一个数字,当按运算符时记录此数字,并且记录此符号,然后设置为可编辑。
而后,我们再输入一个数字,当按等于号时,就会记录第二个数字赋给b,然后会输出最终结果。
我们以加号为例:
//添加按钮加号 JButton jbu = new JButton("+"); //添加按钮监听器 jbu.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //设置标识符为加号 sign = '+'; //从文本框获取字符串转化为数字给第一个变量 a = Double.parseDouble(tf.getText()); //设置可以编辑 bol = true; } });
还有就是最重要的等于号:
//实例化按钮对象等于 JButton jbu = new JButton("="); //给按钮添加监听器 jbu.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { //如果不可编辑,把当前窗体的值赋给b if(!bol) b = Double.parseDouble(tf.getText()); //初始化计算结果 double c = 0; //switch选择运算符号 switch (sign) { case '+': c = a + b; break; case '-': c = a - b; break; case '*': c = a * b; break; case '/': c = a / b; break; default: break; } //如果没有小数点 if(c==(int)c){ //设置c为整型添加到窗体 tf.setText(Integer.toString((int)c)); }else{ //设置c为浮点型添加到窗体 tf.setText(Double.toString(c));} //设置为可计算 bol = true; //把当前值赋给a a=c; } });
依上述方法就可以把计算器做玩,然后去做自己的运算啦~
相关推荐
### Java程序实现计算器功能 #### 1. **项目概述** 创建一个Java程序来模拟计算器的基本功能,用户可以通过控制台输入两个数字和所需的操作类型(加、减、乘、除),程序将执行相应的数学运算并显示结果。此外,...
用Java实现计算器小功能,适合初学Java的练练手。如果想要写复杂的,可以以这个作为参考,再我的基础上加以修改就行了,亲测有效。
在本项目中,"Java复杂计算器的实现(改进版)"是一个高级的编程实践,它旨在构建一个功能丰富的计算工具,能够处理复杂的数学运算。这个计算器不仅支持基本的加、减、乘、除,还可能包含对数、指数、平方根、三角...
【标题】"java多功能计算器" 是一个基于Java编程语言实现的计算器软件,它不仅具备基本的加、减、乘、除等运算功能,还可能包含了更复杂的功能,如科学计算、三角函数、对数、指数、求根等。在Java编程中,实现这样...
加法运算: 减法运算: 乘法运算: 除法运算:; 实现简单功能
java计算器代码 实现计算器的功能 欢迎下载
在实现计算器时,我们将用到Java的控制结构(如if语句和循环)、数据类型(包括整型和浮点型,因为我们要处理小数)、以及方法(用于封装特定功能的代码块)。 计算器的核心部分是解析用户输入并执行相应的计算。这...
"基于Java swing组件实现简易计算器" 本文主要介绍了基于Java swing组件实现简易计算器的知识点,以下是相关知识点的总结: 1. JFrame组件:JFrame是Java swing组件中的一种顶层容器,用于创建一个窗口框架。通过...
在Java编程语言中,实现一个简易计算器涉及到基本的算术运算、用户输入处理以及控制流程。下面我们将深入探讨这个主题。 首先,让我们了解一个简单的Java计算器的基本架构。它通常包含一个主类,其中定义了计算功能...
本项目名为"java版的多功能计算器实现",它不仅提供了基本的四则运算,还扩展到了科学计算,这包括但不限于对数、指数、三角函数、复数运算等高级功能。这样的设计使得计算器不仅适用于日常计算,还可以满足数学建模...
本项目提供了一款基于Java语言实现的简单计算器,它具备基础的计算功能,是初学者学习和理解Java编程的一个好实例。下面将详细讲解这款Java计算器的相关知识点。 1. **Java基础语法**:此计算器程序展示了Java的...
本项目名为“java实现的计算器(界面程序)”,使用了Java Swing库来构建计算器的界面,并采用了GridBagLayout布局管理器来优化组件的摆放,以实现一个美观且功能齐全的计算器。 Java Swing是Java AWT(抽象窗口...
在Java编程语言中,实现一个简单的计算器涉及到基本的算术运算和用户交互。这个项目旨在帮助初学者理解如何处理输入、执行计算以及显示结果。在这个"java简单计算器的实现"中,我们可以预计代码将包括以下几个关键...
首先,Java GUI库是实现计算器界面的关键。Java提供了多种GUI库,如AWT(Abstract Window Toolkit)和Swing,这两个都是Java Foundation Classes (JFC)的一部分。在这个项目中,开发者可能使用了Swing,因为它提供了...
Java仿Windows计算器是一个基于Java编程语言实现的桌面应用程序,它旨在模仿Windows操作系统内置的计算器功能。这个项目通常作为初学者学习GUI(图形用户界面)编程和事件处理的一个实践案例。以下是一些关于如何...
Java计算器源码是一个典型的编程示例,展示了如何在Java中实现一个简单的计算器程序。这个程序能够执行基本的数学运算,包括加法、减法、乘法和除法,并且能够处理括号内的嵌套运算,这涉及到计算的优先级问题。下面...
本计算器实现了自定义左上角图标的功能。 关键词: 建造者模式 状态模式 命令模式 策略模式 单件模式 计算器 多面板 标准型 科学型 程序员 特色型 初等函数 二进制 八进制 十六进制 分解质因数 最简二次根式 ...
下面我们将深入探讨SWT库、计算器的设计和实现,以及如何在Java中处理数学运算。 1. **SWT简介** SWT 是 Eclipse 基金会的一个开源项目,它提供了一系列与操作系统原生 GUI 控件对应的 Java 类。SWT 的优势在于其...
【基于Java的计算器实现】是广东工业大学计算机专业的一份Java大作业,主要目的是让学生通过编写一个功能完备的计算器程序,掌握Java编程语言的基础知识以及面向对象编程的思想。在这个项目中,我们将探讨以下几个...
java Swing实现计算器源码