• 大小: 7KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Java
  • 标签: java  计算器  

资源简介

java做的计算器,有两个模式:科学计算器,简单计算器

资源截图

代码片段和文件信息

package com.chp01.test1;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
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.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Calculator 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 = { “←“ “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 Calculator() {
super();
// 初始化计算器
init();
JMenuBar mb = new JMenuBar();//创建菜单栏
JMenu b1 = new JMenu(“操作“);
JMenu b2 = new JMenu(“帮助“);
JMenuItem c1 = new JMenuItem(“基本计算器“);
JMenuItem c2 = new JMenuItem(“科学计算器“);
JMenuItem c3 = new JMenuItem(“About...“);
setJMenuBar(mb);//添加菜单栏
mb.add(b1);
mb.add(b2);//添加菜单
b1.add(c2);
b1.add(c1);
b2.add(c3);
b1.setFont(new Font(“宋体“ Font.PLAIN 17));
b2.setFont(new Font(“宋 体“ Font.PLAIN 17));
c1.addActionListener(new MenuItemListener());//监听简易计算
c2.addActionListener(new MenuItemListener());//监听科学计算
c3.addActionListener(new MenuItemListener());//监听关于
// 设置计算器的背景颜色
this.setBackground(Color.LIGHT_GRAY);
this.settitle(“计算器“);
// 在屏幕(300 200)坐标处显示计算器
this.setLocation(300 200);
// 不许修改计算器的大小
this.setResizable(false);
// 使计算器中各组件大小合适
setVisible(true);
this.pack();
}

/**
 * 初始化计算器
 */
private void init() {
// 文本框中的内容采用右对齐方式
resultText.setHorizontalAlignment(JTextField.RIGHT);
// 不允许修改结果文本框
resultText.setEditable(false);
// 设置文本框背景颜色为白色
resultText.setBackground(Color.white);

// 初始化计算器上键的按钮,将键放在一个画板内
JPanel calckeysPanel = new JPanel();
// 用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素
calckeysPanel.setLayout(new GridLayout(4 5 3 3));
for (int i = 0; i < KEYS.length; i++) {
keys[i] = new JButton(KEYS[i]);
calckeysPanel.add(keys[i]);
keys[i].setForeground(Color.blue);
keys[i].setFont(new Font(“微软雅黑“ Font.BOLD 13));
}
// 运算符键用红色标示,其他键用蓝色表示
keys[3].setForeground(Color.black);
keys[8].setForeground(Color.black);
keys[13

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       9315  2016-06-30 10:06  test1\Calculator.java

     文件       1060  2016-06-30 13:26  test1\MenuItemListener.java

     文件      10257  2016-06-30 10:21  test1\ScienceCal.java

     目录          0  2016-06-30 09:49  test1

----------- ---------  ---------- -----  ----

                20632                    4


评论

共有 条评论