通过JAVA swing 实现简单的计算器功能(待完善)

考虑到要实现实际生活中的计算器模型,这次实验我选择采用java中的GUI图形用户界面来完成计算器的设计。

简单计算器的实现

通过对java中图形用户界面基础学习来实现基础的计算器。
学习途径链接:https://www.bilibili.com/video/BV1DJ411B75F?from=search&seid=3391209457460119964
创建包和类名后,我们插入实现我们想要的计算器图形界面所需要的组件。

package mysolution;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;   

JFrame画板

然后我们再来进行计算器的设计。
模拟计算器所用到的按键,对其进行定义和布局。

public class counter extends JFrame implements ActionListener {
   
 /** 计算器上的操作键的显示 */
 private final String[] KEYS = {
    "7", "8", "9", "/", "sqrt", "4", "5", "6",
   "*", "%", "1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" };
 /** 计算器上的功能键的显示 */
 private final String[] COMMAND = {
    "(",")","Back", "CE", "C" };
 /** 计算器上边的M功能键的显示 */
 private final String[] M = {
    " ", "MC", "MR", "MS", "M+" };
 /** 定义计算器操作键的按钮长度 */
 private JButton keys[] = new JButton[KEYS.length];
 /** 定义计算器功能键的按钮长度 */
 private JButton commands[] = new JButton[COMMAND.length];
 /** 定义计算器M功能键的按钮长度 */
 private JButton m[] = new JButton[M.length];
 /** 计算结果文本框 */
 private JTextField resultText = new JTextField("0");

定义运算中的中间变量。

private boolean firstDigit = true;
 // 计算的中间结果。
 private double resultNum = 0.0;
 // 当前运算的运算符
 private String operator = "=";
 // 操作是否合法
 private boolean operateValidFlag = true;

现在开始整体计算器框架界面的实现。

 public counter() {
   
  super();
  // 初始化计算器
  init();
  // 设置计算器的背景颜色
  this.setBackground(Color.GRAY);
  this.setTitle("计算器");
  // 在屏幕(800, 140)坐标处显示计算器
  this.setLocation(800, 140);
  // 不允许修改计算器的大小
  this.setResizable(false);
  // 设定计算器中各组件大小
  this.setSize(450,500);
 }
 //用画板划分区块组件
   JPanel panel1 = new JPanel();
  // 采用边界布局管理器,画板里组件之间的水平和垂直方向上间隔都为5
  panel1
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值