ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:62.63KB ,
资源ID:11785739      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11785739.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《Java语言程序设计》课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《Java语言程序设计》课程设计.docx

1、Java语言程序设计课程设计黑龙江科技学院计算机与信息工程学院Java语言程序设计课程设计报告姓 名: 班 级: 指导教师: 2010年7月7日课程设计综合成绩评定设计题目一: 计算器程序 设计题目二: 记事本程序 考核项目分值AC得分设计情况(共70分)设计工作量与难度20设计工作量大与设计有一定难度设计工作量与难度一般,基本达到了要求设计方案15设计方案正确、合理设计方案较正确、基本合理,但不是最优设计完成情况35完成了选题的设计内容,设计功能完整,相关算法设计正确,程序结果正确、直观性好基本完成了选题的设计内容及主要选题功能,相关算法设计基本正确,程序结果正确设计报告(共15分)报告组织

2、结构及内容10内容组织及结构合理、内容充实、层次清晰、图表得当内容组织及结构较合理、内容较充实、层次较清晰、图表应用基本得当报告排版格式5格式规范,完全符合要求格式基本规范,基本符合要求设计态度(共15分)15设计态度认真、积极设计态度比较认真综合得分课程设计综合成绩(折合为优、良、中、及格与不及格计)其它说明:目 录一、设计内容 2二、设计过程 22.1需求分析 22.2概要设计 22.3详细设计 32.4代码实现 52.5程序运行与发布 10一、设计内容 11二、设计过程 112.1需求分析 112.2概要设计 112.3详细设计 112.4代码实现 122.5程序运行与发布 18三、总结

3、 19四、参考文献 19一、设计内容设计GUI界面的简易计算器。通过框架、文本框、面板、按钮等组件的综合应用实现计算器的加、减、乘、除、取余等简单运算。二、设计过程2.1需求分析所设计的GUI界面计算器是一个使用很方便的程序,能进行加、减、乘、除等运算。通过设置“Back”按钮,方便删除输入的错误数字,还增加了清空“C”的按钮,方便快速进入下一轮的运算。2.2概要设计1.类中的主要成员变量及其属性如下:名称变量类型成员变量描述fJFrame框架tfJTextArea输入输出文本框bcJButton退格按钮cJButton清空按钮plus,jian,cheng,chu,equ,bfhJButto

4、n运算符按钮bJButton按钮数组mint数组下标argint存储输入的第一个数tdouble除法运算的结果flagboolean第一次输入fhString保存中间运算符的字符型变量2.方法名称功能备注actionPerformed处理ActionEvent事件接口方法calculate计算成员方法main程序入口主方法2.3详细设计引入包:import javax.swing.*;import java.awt.*;import java.awt.event.*;字符串处理:String text = text1.substring(0, text1.length()-1); 提取下标为0

5、之下标为text1.length()-2的字串 a=s1.charAt(m); 返回字符串第m位置的字符创建Calculator类实现ActionListener接口:public class Calculator implements ActionListener;首先声明各个对象,创建各个变量:JFrame f; JTextField tf;JButton bc,c,plus,jian,cheng,chu,equ,bfh;/按钮 退格,清空,加,减,乘,除,等号,百分号JButton b=new JButton10; /按钮数组,数字键09double t;/除法运算的结果int m,ar

6、g;/m数字按钮的下标,arg存储输入的第一个数final int slength=20; /设置结果显示有效长度 String fh = null;/保存中间运算符的字符型变量String op=;boolean flag = true;/第一次输入界面设计:在disp()方法中进行界面设计。 创建标题为“简易计算器”的JFrame框架,采用FlowLayout布局方式,在窗体中添加tf文本框,f.add(tf); 创建四个面板添加各个按钮,各个面板采用网格布局,用for循环控制数字按钮的添加,添加按钮使用内部方法add();for(m=7;i!=11;i+,m+) bm=new JButt

7、on(String.valueOf(m);/创建数字按钮 pa2L.add(bm); bm.addActionListener(this); if(i=3) m=3; if(i=6) m=0; if(i=9) m=-1; 为各个按钮注册监听器,addActionListener();单击JFrame框架上的关闭按钮时,JFrame会自动隐藏窗口,但没有真正关闭,窗口还在内存中;所以继承WindowAdapter适配器类实现窗口的关闭;f.addWindowListener(new WindowAdapter()/关闭窗口 public void windowClosing(WindowEven

8、t e) System.exit(1); );事件响应: if(0=s.charAt(0)&s.charAt(0)=9) if(flag) tf.setText(s+.); flag = false; else if(text.equals(0) tf.setText(s+.); else tf.setText(text+s+.); if(!op.equals(=) arg = Integer.parseInt(text); System.out.println(arg); tf.setText(s+.); op = =; 如果第一次输入数字,则文本框显示数字+“.”,并将flag置为fals

9、e,若在输入数字加在第一次输入内容之后,将数字保存在arg变量中。 按下运算符之后,将运算符保存在fh变量中,并设置变量op的值。 按下等号后调用calculate()方法计算。 public void calculate(int n) System.out.println(n); if(fh.equals(+) arg+=n; else if (fh.equals(-) arg-=n; else if (fh.equals(*) arg*=n; else if (fh.equals(%) arg%=n; else if (fh.equals(=) arg=n; tf.setText(+arg

10、+.); if (fh.equals(/) t=(double)arg/n; tf.setText(+t); 退格 s1 = s1.substring(0, text1.length()-1);提取小数点之前的所有数据。 用for循环实现退格操作, for (m=0;ms1.length()-1;m+) /按一下,删除尾部一位 a=s1.charAt(m); tf.setText(tf.getText()+a); if(m=s1.length()-2) tf.setText(tf.getText()+.); a=s1.charAt(m);返回第m位置的字符串。main()方法: 创建Calcu

11、lator类对象,调用disp()方法。2.4代码实现import javax.swing.*;import java.awt.*;import java.awt.event.*;public class Calculator implements ActionListener JFrame f; JTextField tf; JButton bc,c,plus,jian,cheng,chu,equ,bfh;/退格,清空,加,减,乘,除,等号,百分号 JButton b=new JButton10; /按钮数组,数字键09 double t;/除法运算的结果 int m,arg;/m数字按钮的

12、下标,arg存储输入的第一个数 final int slength=20; /设置结果显示有效长度 String fh = null;/保存中间运算符的字符型变量 boolean flag = true;/第一次输入 String op=; public void disp() f=new JFrame(简易计算器); f.setBounds(400,300,220,240);/窗体的大小以及位置 f.setLayout(new FlowLayout();/流式布局 f.setResizable(false);/固定窗体的大小 tf=new JTextField(16); tf.setText

13、(0.);/设置文本框的初始值为0 tf.setHorizontalAlignment(SwingConstants.RIGHT);/文本框内的数字右对齐 tf.setEditable(false);/文本框为不可编辑 f.add(tf); /放置一个面板用来放置Back,C按钮 Panel pa1=new Panel(); f.add(pa1); pa1.setLayout(new GridLayout(1,2,5,5); bc=new JButton( Back ); bc.setForeground(Color.BLUE);/设置字体颜色 pa1.add(bc); c=new JButt

14、on( C ); c.setForeground(Color.BLUE); pa1.add(c); Panel pa2=new Panel(); f.add(pa2); pa2.setLayout(new GridLayout(1,2,1,1);/网格布局 /左侧面板放置数字按钮 Panel pa2L=new Panel(); f.add(pa2L); pa2L.setLayout(new GridLayout(4,3,3,3); int i=1; for(m=7;i!=11;i+,m+) bm=new JButton(String.valueOf(m);/创建数字按钮 pa2L.add(bm

15、); bm.addActionListener(this); if(i=3) m=3; if(i=6) m=0; if(i=9) m=-1; /右侧面板放置运算符按钮 Panel pa2R=new Panel(); f.add(pa2R); pa2R.setLayout(new GridLayout(4,1,3,3); plus=new JButton(+); plus.setForeground(Color.RED); jian=new JButton(-); jian.setForeground(Color.RED); cheng=new JButton(*); cheng.setFore

16、ground(Color.RED); chu=new JButton(/); chu.setForeground(Color.RED); equ=new JButton(=); equ.setForeground(Color.RED); bfh=new JButton(%); bfh.setForeground(Color.RED); pa2R.add(cheng); pa2R.add(jian); pa2R.add(plus); pa2R.add(equ); pa2L.add(bfh); pa2L.add(chu); bc.addActionListener(this); c.addActi

17、onListener(this); plus.addActionListener(this); jian.addActionListener(this); cheng.addActionListener(this); chu.addActionListener(this); equ.addActionListener(this); bfh.addActionListener(this); f.addWindowListener(new WindowAdapter()/关闭窗口 public void windowClosing(WindowEvent e) System.exit(1); );

18、 f.setVisible(true); public void actionPerformed(ActionEvent e) String s=e.getActionCommand(); String text1 = tf.getText(); String text = text1.substring(0, text1.length()-1); if(0=s.charAt(0)&s.charAt(0)1) tf.setText(); for (m=0;ms1.length()-1;m+) /按一下,删除尾部一位 a=s1.charAt(m); tf.setText(tf.getText()

19、+a); if(m=s1.length()-2) tf.setText(tf.getText()+.); else tf.setText(0.); public void calculate(int n) System.out.println(n); if(fh.equals(+) arg+=n; else if (fh.equals(-) arg-=n; else if (fh.equals(*) arg*=n; else if (fh.equals(%) arg%=n; else if (fh.equals(=) arg=n; tf.setText(+arg+.); if (fh.equa

20、ls(/) t=(double)arg/n; tf.setText(+t); public static void main(String args) Calculator cal=new Calculator(); cal.disp();/调用disp()方法 2.5程序运行与发布在Eclipse集成环境中,直接运行Calculator主类,即可执行日历记事本程序,程序运行结果如图所示: 计算器程序界面一、设计内容 设计记事本程序,实现新建、打开、保存、复制、粘贴、设置字体等功能。二、设计过程2.1需求分析 所设计的记事本程序在窗体中添加了菜单条、工具栏,用工具栏实现快速打开、保存等功能。在

21、编辑菜单下有复制、剪切、粘贴功能。2.2概要设计1.类中的主要成员变量及其属性如下:名称变量类型成员变量描述jtaJTextArea文本域jmbJMenuBar菜单条jmf,jme,jmgJMenu文件、编辑、格式jmin,jmio, jmis,copy,cut,pasteJMenuItem新建、打开、保存、复制、剪切、粘贴jcuti1,jxieti1JCheckBoxMenuItem粗体、斜体2.方法名称功能备注TextEdit创建窗口构造方法actionPerformed处理ActionEvent事件接口方法windowClosing关闭窗体成员方法main程序入口主方法2.3详细设计引入

22、包:import javax.swing.*;import java.awt.*;import java.awt.event.*; import java.io.*;创建TextEdit类实现各个接口:public class Calculator implements ActionListener,ItemListener, WindowListener ;界面设计: 初始化一个容器,Container c = this.getContentPane();不能直接Jframe上添加组件,必须先调用getContentPane()方法。创建JscrollPane对象jsp,JtextArea不

23、具备滚动能力,但实现了javax.swing包中的javax.swing.ScrollPane接口,允许把它放在JscrollPane中从而实现JtextArea的滚动。向容器中添加菜单条、工具栏,分别在其中添加菜单项、复选菜单项以及按钮。事件响应: 重写actionPerfored()方法,e.getSource()返回发生Event的对象,获得事件源。 新建,将文本区内容设为空;复制、剪切、粘贴分别调用javax.swing包中的方法。单击复选菜单项设置字体,实现ItemListener接口,重写itemStateChanged()方法,getState()返回复选菜单项的状态。关闭窗体,

24、重写WindowListener接口中的方法,但其中六个方法的方法体为空。创建确认对话框,int JOptionPane.showConfirmDialog(所属Jframe,要求确认内容,对话框标题,yes-no按钮)。打开、保存事件,先创建对象,然后用读写方法从文件中读取数据或将数据写入文件,最后关闭数据流。构造方法: 在方法中为各个组件注册监听器。2.4代码实现import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class TextEdit extends JFram

25、e implements ActionListener,ItemListener,WindowListener Container c = this.getContentPane();/初始化一个容器 JTextArea jta = new JTextArea(简易记事本,23,15); JScrollPane jsp = new JScrollPane(jta);/创建JScrollPane对象,并将jta放入JScrollPane JMenuBar jmb = new JMenuBar(); JToolBar jToolBar = new JToolBar(); JButton jButton1 = new JButton(打开); JButton jButton2 =new JButton(新建); JButton jButton3 = new JButton(保存); JMenu jmf = new

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1