java编写的计算器,能实现加减乘除。
//***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***//
//******但还不支持键盘操作,如有需要,下一次等级将满足你**********//
import java.awt.*;
import java.lang.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.Component.*;
import java.awt.color.*;
import java.text.DecimalFormat;
//*****************************************************************************//
//*****************************************************************************//
public class Calculator implements ActionListener //导入动作监听接口
{
//******************************//
//*****设计计算器界面的单位*****//
JFrame frame; //定义框架
JTextField textAnswer; //定义输出显示框
JPanel panel, panel1, panel2, panel3;//定义面板作为子容器,从而达到要求的界面效果
JMenuBar mainMenu;
JTextField textMemory;
JLabel labelMemSpace; //labelMemSpace单纯做摆设,控制面板的形状
JButton buttonBk, buttonCe, buttonC;
JButton button[];
JButton buttonMC, buttonMR, buttonMS, buttonMAdd;
JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,buttonDiv, buttonMod;
JButton buttonSqrt, buttonDao, buttonEqual;
JMenu editMenu, viewMenu, helpMenu;
JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal,myCollege;
DecimalFormat df; //设置数据输出精度
boolean clickable; //控制当前能否按键
double memoryd; //使用内存中存储的数字
int memoryi;
double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)
short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算
boolean clear = false;
String copy; //做复制用
JTextArea help; //帮助
JScrollPane scrollHelp;
static boolean One =true;
//******************//
//*****构造函数开始*****//
public Calculator()
{
clickable = true;
answerd = 0;
frame = new JFrame("梦幻计算器--SWE08008");
frame.setResizable(false);//不允许改变计算器的大小
frame.setLocation(250,150);//设置计算器的起始位置
frame.setBackground(Color.YELLOW);
df = new DecimalFormat("0.##############"); //设置数据输出精度(对于double型值)