1 概述

Java AWT+Swing实现的简单计算器,功能如下:

  • 支持加减乘除
  • 支持小数运算
  • 键盘监听
  • 鼠标监听

2 效果演示

3 一些细节

3.1 运算

运算用到了一个ExpressionHandle的静态类,用来计算字符串表达式的值。

其实运算不难,就是基本的运算符以及操作数的入栈出栈操作,就不细说了。

3.2 Base64

图标是使用Base64处理的,因为是只有一个图片资源,而且使用图片的话比较容易出现路径问题,就使用了Java自带的Base64.Decoder进行处理,decode后生成得到字节数组并作为ImageIcon的参数,即可正确显示图片。

3.3 字体

字体使用了微软雅黑字体,默认加粗,字号17号,使用了反射获取setFont进行设置。

3.4 鼠标监听

核心就是MouseListner,在mouseEntered/mouseExited设置进入和离开时的背景颜色,同时在mouseClicked设置响应事件,对等于号、退格以及Esc进行特判,其他的直接相应输入框添加字符即可。

3.5 键盘监听

核心是KeyListnerkeyPressed设置响应事件,对回车、退格以及等于号进行特判,另外还需要注意组合键,比如Shift+8表示的是乘号,要利用keyEvent.isShiftDown判断shift是否按下,同时设置对应的按键背景颜色。keyReleased中设置按键释放事件,在这里就是设置背景,本来想是设置某个按键的,但是可能因为键盘事件响应不灵敏的原因,当按键过快时就会出现按键被“持续按下”的假象,因此对所有按键进行了响应。

3.6 限制输入字符

利用了JTextField.setDocument()以及PlainDocument,当输入非法时进行提示,并忽略对应的输入,核心就是insertString()

4 源码

  • Github
  • 码云

Java实现简单计算器相关推荐

  1. Java编写简单计算器--实现篇

    本文用Java的swing来实现一个简单计算器,主要内容为图形用户界面GUI的实现以及运算表达式核心算法的设计编写. 程序运行环境为Windows10 ,编译环境为MyEclipse . 一.具体功能 ...

  2. java超简单计算器_Java实验--超级简单的计算器

    学了Java的GUI后,做了个super简单的计算器,只能做加法.(萌新日常记录,大佬发现有什么问题欢迎评论区留言) 都是很简单的知识,其中主要涉及GridLayout布局的应用.添加监听器.两个控件 ...

  3. java awt 简单计算器,JAVA Swing 开发简易计算器(上)

    开发一个简易的计算器我们主要分为两大部分:图形界面设计与具体功能实现.这篇文章讲图形界面设计,下篇讲具体功能实现. 代码下载:https://github.com/taifus/Java_Calcul ...

  4. java swing 简单计算器_用java swing编写一个简单的计算器

    用java swing实现的一个简单的计算器:一些swing的基础应用. 注释里有详解,直接上代码: package 简易计算器; import java.awt.BorderLayout; impo ...

  5. java swing 简单计算器_java用swing写了一个简单的计算器

    其实swing没什么难度,主要是字符串运算表达式,如何进行计算才能得到结果 swing界面5分钟,算法5小时 下面看具体代码 package frame; import java.awt.Border ...

  6. java简易计算器实验报告_Java 《Java 实现简单计算器》实验报告

    15325592-d9e8874662abf194.png 环境 macOS java 15 Eclipse 创建项目 项目命名 2020-10-19_5f8d56908a700.png 如上图所示, ...

  7. java编写简单计算器_编写java程序简单计算器

    展开全部 主要涉及的知识点: 类的e69da5e887aa3231313335323631343130323136353331333365653863写法, 以及方法的调用 .建议多做练习. 如果有看 ...

  8. java做计算器_java实现简单计算器

    本文实例为大家分享了java实现简单计算器的具体代码,供大家参考,具体内容如下 思路:定义一个主框架Frame,我们对原设计的草图进行划分,以方便后面的布局 下面我们来对主框架进行划分 如图,我们将主 ...

  9. 简单计算器的设计java_(基于java的简易计算器的设计.doc

    (基于java的简易计算器的设计 基于java的简易计算器的设计 摘要 自从java语言诞生以来,java语言就以不可抵挡的趋势很快成为国际上广泛流行的面向对象编程语言,它既具有高级语言的特点,又少了 ...

  10. 用java编写一个简单计算器

    java 采用java编写一个简单计算器,使用awt和swing 代码如下: import java.awt.Color; import java.awt.Font; import java.awt. ...

最新文章

  1. 城市仿真为何成为大势所趋?
  2. 软件熵:软件开发中推倒重来的过程就是软件熵不断增加的过程
  3. SimpleUrlHandlerMapping 处理器映射的配置--转
  4. 神经网络中,正则化L1与L2的区别、如何选择以及代码验证
  5. mysql中有没有单行函数_MySQL之函数(单行函数、分组函数)
  6. React(74)--onRef在react中的使用
  7. python学习笔记全过程_Python学习笔记一(Hello World)
  8. python 面授_5天Python实战营(面授)
  9. mongodb db.serverStatus() 仍然不能提示认证失败
  10. python 一个简单的天气预报程序
  11. modbus协议的常用测试工具
  12. GD32F103ZKT6替换STM32F103调试手记
  13. zigbee芯片cc2430资料
  14. 如何下载ScienceDirect(Elsevier)文献的补充材料
  15. 双人聊天php,js实现双人五子棋小游戏
  16. 期权Greek之rho【python复现】
  17. 持久性连接和非持久性连接
  18. 【知识兔】Excel教程:批量合并相同内容单元格神技
  19. HTML5实现中国象棋游戏
  20. 激光切割过程中遇到毛边怎么办?

热门文章

  1. LitePal的使用——Android开源数据库
  2. 【官方】下载最新adb及安装驱动的方法
  3. 算法精解----3、单链表
  4. java课程设计员工信息管理系统,javaweb课程设计之员工信息管理系统
  5. 精心整理Node.js入门---原理篇
  6. webstorm破解版
  7. 牛客网Java笔试题目
  8. 谈一谈 IPA 上传到 App Store Connect 的几种方法
  9. RayData大数据可视化教程(2)——动画制作基础和设置为本地资源库
  10. jquery读取json文件然后赋值给html,Jquery读取json文件的代码举例