java编写的简单的计算器程序.docVIP

  • 3
  • 0
  • 约2.05万字
  • 约 22页
  • 2017-02-09 发布于重庆
  • 举报
java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; Applet容器中组件的添加与设置,包括面板以及菜单的使用; 容器中组件的布局管理; Java核心包中数组、数学计算类的使用; 异常的处理; 事件处理模型中的三类对象的使用: Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 Event handler-事件处理者,接收事件对象并对其进行处理的对象。 程序中事件处理的流程: 计算流程的细化 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()); ??? //设

文档评论(0)

1亿VIP精品文档

相关文档