Java编写的计算器程序及源代码(1)

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

//frame版程序源代码如下,疏漏之处,望批评指正。

//数字分组没有编写,科学型计算器没有编写,其他已经完善。

import Java.awt.*;

import java.lang.*;

import javax.swing.*;

import javax.swing.event.*;

import java.awt.event.*;

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;

DecimalFormat df; //设置数据输出精度

boolean clickable; //控制当前能否按键

double memoryd; //使用内存中存储的数字

int memoryi;

double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)

short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算

String copy; //做复制用

JTextArea help; //帮助

JScrollPane scrollHelp;

//构造函数

public Calculator() {

clickable = true;

answerd = 0;

frame = new JFrame("计算器");

df = new DecimalFormat("0.##############"); //设置数据输出精度(对于double型值)

textAnswer = new JTextField(15);

textAnswer.setText("");

textAnswer.setEditable(false);

textAnswer.setBackground(new Color(255, 255, 255));

panel = new JPanel();

frame.getContentPane().add(panel);

panel1 = new JPanel();

panel2 = new JPanel();

panel.setLayout(new BorderLayout());

//设计整个面板

mainMenu = new JMenuBar();

editMenu = new JMenu("编辑(E)");

viewMenu = new JMenu("查看(V)");

helpMenu = new JMenu("帮助(H)");

copyItem = new JMenuItem(" 复制(C) Ctrl+C");

copyItem.addActionListener(this);

pasteItem = new JMenuItem(" 粘贴(V) Ctrl+V");

pasteItem.addActionListener(this);

editMenu.add(copyItem);

editMenu.add(pasteItem);

tItem = new JMenuItem("●标准型(T)");

tItem.addActionListener(this);

sItem = new JMenuItem(" 科学型(S)");

sItem.addActionListener(this);

numberGroup = new JMenuItem(" 数字分组(I)");

numberGroup.addActionListener(this);

viewMenu.add(tItem);

viewMenu.add(sItem);

viewMenu.add(numberGroup);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航