




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 实验题目:使用Java中的Swing技术实现一个简单的计算器二实验目的及要求1. 实验目的:掌握java图形界面设计方法,理解委托事件处理模型2.实验要求(1)程序结构清晰,运行正确。(2)通过界面能用按钮输入09十个数字,并至少能进行+、-、* 和/运算。(3) 给出实验内容的程序设计、实现和结果,并对结果进行分析。3 试验步骤1、打开NetBeans IDE 6.9.1,点击“文件”菜单选择“新建项目”在弹出的对话框中输入相应的项目名JiSuanQi、项目位置D:java,系统将根据项目位置建立相应的项目文件夹D:javaJiSuanQi。2、项目新建好后点击项目下面的子目录,在“源包”上右键-选择“新建”-java类,在弹出的对话框中输入相应的类名,单击“完成”,就创建了一个.java文件。3、若程序事先已设计好,则可将其放置在项目文件夹下面的src子文件夹下面,在打开项目时缺省包下面会显示相应的.java文件。4、在程序设计好之后,右键相应的.java文件,选择“调试文件”,在程序调试成功没有错误后右键.java文件,选择“运行文件”,如下图示:5、 Java源文件(*.java)通过编译器javac.exe编译生成字节码文件(*.class),再由解释器java.exe执行四源程序文件import java.awt.BorderLayout;import java.awt.Button;import java.awt.Color;import java.awt.Dialog;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class JiSuanQi public static void main(String args) MyFrame52 mm = new MyFrame52();class MyFrame52 extends Frame TextField tf = new TextField(25); JButton b3 = new JButton(DEL); JButton b33 = new JButton(AC/ON); JButton b4 = new JButton(0); JButton b41 = new JButton(); JButton b42 = new JButton(+); JButton b1 = new JButton(1); JButton b2 = new JButton(2); JButton b_3 = new JButton(3); JButton b_4 = new JButton(4); JButton b5 = new JButton(5); JButton b6 = new JButton(6); JButton b7 = new JButton(7); JButton b8 = new JButton(8); JButton b9 = new JButton(9); JButton b_chu = new JButton(); JButton b_cheng = new JButton(); JButton b_jian = new JButton(-); MyFrame52() JLabel l = new JLabel( 单功能计算器); l.setForeground(Color.black); JPanel pla = new JPanel(); pla.add(l); / 将第一行放在一个panel最上边 b3.addActionListener(new listen(this); b33.addActionListener(new listen(this); b4.addActionListener(new listen(this); b41.addActionListener(new listen(this); b42.addActionListener(new listen(this); b1.addActionListener(new listen(this); b2.addActionListener(new listen(this); b_3.addActionListener(new listen(this); b_4.addActionListener(new listen(this); b5.addActionListener(new listen(this); b6.addActionListener(new listen(this); b7.addActionListener(new listen(this); b8.addActionListener(new listen(this); b9.addActionListener(new listen(this); b_chu.addActionListener(new listen(this); b_cheng.addActionListener(new listen(this); b_jian.addActionListener(new listen(this); JFrame f = new JFrame(计算器); JPanel p = new JPanel(); p.setLayout(new GridLayout(3, 1, 4, 4); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); p2.setLayout(new GridLayout(3, 3, 4, 4); /布局管理器中各种按钮的排布 p2.add(b7); p2.add(b8); p2.add(b9); p2.add(b_cheng); p2.add(b_4); p2.add(b5); p2.add(b6); p2.add(b_chu); p2.add(b1); p2.add(b2); p2.add(b_3); p2.add(b_jian); JPanel p3 = new JPanel(); p3.setLayout(new GridLayout(1, 2, 0, 0); Panel p4 = new Panel(); BorderLayout s = new BorderLayout(); p4.setLayout(s); p4.setBackground(Color.red); p4.add(b4, BorderLayout.WEST); p4.add(b41, BorderLayout.CENTER); p4.add(b42, BorderLayout.EAST); p1.add(tf);/ 放置的是计算器的输入框 b33.setForeground(Color.black); b3.setForeground(Color.black); p3.add(b3); p3.add(b33); p.add(l, BorderLayout.NORTH); p.add(p1, BorderLayout.CENTER); p.add(p3, BorderLayout.SOUTH); f.setLayout(new BorderLayout(30, 5); f.add(p, BorderLayout.NORTH); f.add(p2, BorderLayout.CENTER); f.add(p4, BorderLayout.SOUTH); f.pack(); f.setVisible(true); f.setLocation(900, 300); f.setSize(200, 300); f.setResizable(false); class listen implements ActionListener MyFrame52 dd; listen(MyFrame52 ds) this.dd = ds; public static int zhi = 0; public static int nextzhi = 0; public static int sum = 0; public static int fuhao;public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub if (dd.b1 = e.getSource() dd.tf.setText(dd.tf.getText() + 1); else if (dd.b2 = e.getSource() dd.tf.setText(dd.tf.getText() + 2); else if (dd.b_3 = e.getSource() dd.tf.setText(dd.tf.getText() + 3); else if (dd.b_4 = e.getSource() dd.tf.setText(dd.tf.getText() + 4); else if (dd.b5 = e.getSource() dd.tf.setText(dd.tf.getText() + 5); else if (dd.b6 = e.getSource() dd.tf.setText(dd.tf.getText() + 6); else if (dd.b7 = e.getSource() dd.tf.setText(dd.tf.getText() + 7); else if (dd.b8 = e.getSource() dd.tf.setText(dd.tf.getText() + 8); else if (dd.b9 = e.getSource() dd.tf.setText(dd.tf.getText() + 9); else if (dd.b_cheng = e.getSource() / 计算乘法 fuhao = 1; zhi = Integer.parseInt(dd.tf.getText();/ 得到了文本框里的值; dd.tf.setText(); else if (dd.b_chu = e.getSource() / 计算除法 fuhao = 2; zhi = Integer.parseInt(dd.tf.getText();/ 得到了文本框里的值; dd.tf.setText(); else if (dd.b_jian = e.getSource() / 计算减法 fuhao = 3; zhi = Integer.parseInt(dd.tf.getText();/ 得到了文本框里的值; dd.tf.setText(); else if (dd.b3 = e.getSource() / 退格 得到里面的值.从最后的一位开始删除 StringBuffer sb = new StringBuffer(dd.tf.getText(); int changdu = sb.length(); if (changdu 0) sb.deleteCharAt(changdu - 1);/ 删除的是最后的一位 dd.tf.setText(sb.toString(); else dd.tf.setText(); else if (dd.b33 = e.getSource() / 清零 zhi = 0; nextzhi = 0; sum = 0; dd.tf.setText(); else if (dd.b4 = e.getSource() dd.tf.setText(dd.tf.getText() + 0); else if (dd.b41 = e.getSource() / 等号; nextzhi = Integer.parseInt(dd.tf.getText();/ 得到了文本框里的值; dd.tf.setText(); if (fuhao = 1) / 计算的是乘法; sum = zhi * nextzhi; dd.tf.setText(sum + ); else if (fuhao = 2) / 计算除法 sum = zhi / nextzhi; dd.tf.setText(sum + ); else if (fuhao = 3) / 计算减法 sum = zhi - nextzhi; dd.tf.setText(sum + ); else if (fuhao = 4) / 符号为四算的是加法; sum = zhi + nextzhi; dd.tf.setText(sum + ); else if (dd.b42 = e.getSource() / 计算加法 fuhao = 4; zhi = Integer.parseInt(dd.tf.getText();/ 得到了文本框里的值; dd.tf.setText
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业转型升级与技术创新路径
- 工业自动化技术进步与产业发展分析报告
- 工业自动化技术发展趋势及实施方案
- 工业遗产改造为旅游景区的成功案例分析
- 工作场所卫生安全标准解读与实施
- 工业领域新能源技术的推广与应用
- 工业风办公空间设计案例分享
- 工作场合的表达艺术
- 工程教育在学术研究与工作实战的关联分析
- 工厂环境中的空调系统配置
- 人工智能导论单元练习题1及答案
- 2024年浙江杭州萧山区城市社区工作者招聘笔试冲刺题(带答案解析)
- 2024年安徽合肥东方英才人才限公司招聘5人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 乳牙疾病的治疗与预防
- 肾绞痛的护理
- 《麦肯锡金字塔原理》课件
- 《自动控制原理》说课
- 《内部控制》ppt课件完整版
- 医疗器械(耗材)项目投标服务投标方案(技术方案)
- 2024年中国石油集团招聘笔试参考题库含答案解析
- 《内保条例培训讲座》
评论
0/150
提交评论