第一部分:第一部分:
课程设计总述
一,课程设计目的:课程设计目的:
1.学会
Java程序开发的环境搭建与配置,并在实际运用中
学习和掌握Java程序开发的全过程.2.进一步熟悉掌握Java程序设计语言的基础内容,如用户图形界面设计,Java多线程编程,Applet程序的设计,文件和
网络输入输出流编程,Java数据库编程等.3.通过亲自动手写程序,一方面拓展知识面,一方面锻炼调试能力.
课程设计总体要求:总体要求二,课程设计总体要求:
1.2.3.4.5.
问题的描述与程序将要实现的具体功能.程序功能实现的具体设计思路或框架,并检查流程设计.代码实现.程序测试(如程序代码,功能测试,可靠性测试和效率测试等).设计小结(包括)
课程设计题目:三,课程设计题目:1.选做部分
1)利用Socket编程制作一个简单的C/S应用.其中,Client端为GUI程序,用于提供界面输入两个数,并有1个"发送"按钮,另外还有一个TextField用于显示传来的计算结果;Server端用于监听连接请求,计算发送过来的两数的和,送回数据结果.2)编一个多线程Applet,实现简单的动画.具体要求:自动出现由小到大变换的圆,位置与颜色随机,变到150直径时擦除,重新再出现圆;变换速度有
HTML文件传入的参数控制(控制sleep时间).3)编写Applet,包含两个按钮,一个按钮用于放大Applet上的一串字符串,一个按钮用于缩小;连续点击可不断放大或缩小.4)设计GUI界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加,减,乘,除混合运算.5)编写生产者/消费者问题的应用程序.生产者以0~200ms的速度随机产生30个小写字母,消费者以0~2s的速度取出字母,并显示在屏幕上.2.
必做部分
根据自己的兴趣,结合实际情况,选取合适题目,利用所学JAVA知识开发一个小型的应用
软件.要求:1)阐述清楚应用程序实现的具体功能和设计思路.2)所选课题难度不应太简单.3)所有人的题目及设计不得类同.
课程设计
报告内容:四,课程设计报告内容:
1)目录2)设计题目及具体要求3)总体设计思路(简要说明
系统包含的java源程序及其功能,描述类之间的主要关系)4)具体设计(以表格形式描述各个类含有的成员变量和方法,并对关键代码加以说明,显示程序运行界面)5)总结(包括对本课程的建议)6)参考资料
1
第二部分
一.设计GUI界面的计算器程序
选做题目
1.问题描述:设计GUI界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进.问题描述:行加,减,乘,除混合运算.2.设计思路:.计思路:本程序功能不是太复杂,主要
工作是界面的设计.为减少
通信接口设计,所有功能均在一个类中实现.程序中的函数
列表如下:函数名称函数功能简介publicCalculator()<构造函数>加载窗体及窗体关闭事件等publicvoidactionPerformed(ActionEvente)响应事件,执行相应的逻辑处理privateDoublenumberFormat(Stringsrc)去掉多于的0,返回double数值privateStringnumberFormat(doublesrc)去掉多于的0,返回字符串privatevoidsetNumber(Stringid)为显示域extField设置数值privatevoidcompute(doubled1,doubled2,intot)计算并在TextField中显示3.代码实现:代码实现:importjava.awt.*;importjavax.swing.*;importjavax.swing.border.*;importjava.awt.event.*;importjava.text.*;publicclassCalculatorextendsJFrameimplementsActionListener{staticfinalString[]button_name={"7","8","9","/","sqrt","4","5","6","*","%","1","2","3","-","1/x","0","+/-",".","+","="};doublenum=0;privatebooleanoperate_flag=false;privateintoperate_type=0;privateJPaneldisplay_main=newJPanel();privateJPaneldisplay=newJPanel();privateJPanelbuttons=newJPanel();privateJButtonbackspace=newJButton("Backspace");privateJButtonc=newJButton("C");privateJButtonce=newJButton("CE");privateJButton[]bg=newJButton[20];privateJTextFieldtext=newJTextField("0");privateJPanelmain=newJPanel();publicCalculator(){super("简易计算器--chenwei_3710167@qq.com");setIconImage((Toolkit.getDefaultToolkit()).getImage("face.gif"));//获得图标文件display.setLayout(newGridLayout(1,3,15,15));display.add(backspace);display.add(c);display.add(ce);display.setBorder(newLineBorder(display.getBackground(),5));//添加边框