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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

QQ个人资料java课程设计.docx

1、QQ个人资料java课程设计辽 宁 工 业 大 学 JAVA程序设计 课程设计(论文)题 目: QQ个人资料 院(系): 软 件 学 院 专业班级: 计算机信息管理051班 学 号: 学生姓名: 指导教师: 教师职称: 起止时间: 程序设计专题(报告)任务及评语院(系):软件学院 教研室:软件教研窒学 号学生姓名专业班级程序设计(报告)题目QQ个人资料程序设计(报告)任务程序设计专题的任务与要求:(1)掌握Java编程、面向对象的基础知识。(2)较熟练地编写Java应用程序Application。(3)了解Java的常用标准类库、编程技巧、异常处理。(5)联系已学过的内容,巩固所学的理论,增强

2、独立工作能力。(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。指导教师评语及成绩成绩: 指导教师签字: 2007 年 6 月 13 日目 录第1章 课程设计的目的与要求 11.1 课程设计目的 11.2 课程设计的实验环境 11.3 课程设计的预备知识 11.4 课程设计要求 1第2章 课程设计内容 22.1课程设计题目 22.

3、2课程设计整体设计说明 22.2.1课程设计内容 22.2.2程序中所用类说明 32.2.3程序中使用方法的说明 32.2.4异常处理说明 42.2.5程序运行效果及存在的问题 42.3程序部分源代码及注释 5第3章 课程设计总结 12第1章 课程设计的目的与要求1.1 课程设计目的JAVA程序设计是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是电子商务专业学生学习完JAVA程序设计课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广

4、泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。1.3 课程设计的预备知识熟悉JAVA语言及ECLIPSE开发工具。1.4 课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和

5、判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。第2章 课程设计内容2.1课程设计题目QQ个人资料2.2课程设计整体设计说明 这次课程设计是制作一个QQ个人资料窗体, 这次我使用的编程语言是JAVA语言。我采用的编译环境是Windows XP中文版+J2SDK1.6.0中文版+Eclipse3.2.1+ Eclipse3.2.1中文语言包+SWT designer5.1.0 使用JAVA语言及S

6、WT进行可视编辑完成该功能。2.2.1课程设计内容(一)安装编译环境(1)安装jdk1.6.0 运行j2sdk1.6.0.exe程序(2)安装Eclipse 将下载的Eclipse压缩包eclipse-SDK-3.2.1-win32.zip解压到指定目录下(3)将下载的汉化压缩包NLpack1-eclipse-SDK-3.2-win32.zip按原路径解压即可,也就是直接覆盖eclipse文件下的features、plugins两个文件夹。(4)安装SWT designer,将下载的压缩包按原路径解压即可,也就是直接覆盖eclipse文件夹下的features、plugins两个文件夹。(二)

7、进入Eclipse平台新建JAVA项目、新建包、新建类(三)打开eclipse,首先选择工作空间,点击“浏览”选择路径。(四)在 Eclipse 内,选择菜单项文件 新建 项目. DesignerSWT/JFace Java Project以新建SWT项目。项目名称:“Kechengsheji”。(五)选择菜单项 文件 新建 包,包的名称为xuliu,按“确定”按钮,新建包。 (六)在“包资源管理器”视图中,选择 xuliu 项目。单击文件新建类(七)新建并设计主窗体类QQ(八)调试 选择菜单项 运行调试调试方式SWT应用程序 找出错误并改正,直到调试成功。 (九)运行 菜单项 运行运行运行方

8、式SWT应用程序运行程序看结果。2.2.2程序中所用类说明MainFrame 主窗体类:设计显示年份月份选择按钮及查看按钮,显示月历。Clock 当前时间类:从系统中提取当前时间并以yyyy年MM月dd日hh:mm:ss显示。2.2.3程序中使用方法的说明MainFrame类中方法:MainFrame():MainFrame类的构造函数Init()显示月历方法use():取查询月份第一天星期的方法Resetday():运算是否闰年及各个月天数的方法main():主方法程序在此开始执行Clock 类中方法:Clock():Clock类的构造函数run():每秒取一次系统时间paint():在主窗

9、体上显示当前时间的方法getTime():提取系统时间的方法2.2.4异常处理说明异常是异常事件的简称,它定义为在执行程序过程中出现了不正常的事件,破坏了正常的指令流。Java语言如果出现异常就要进行异常处理。Clock类中有段代码含有异常处理。 try t.sleep(1000);/休眠1秒钟 catch(InterruptedException e) System.out.println(异常); 很多 Java 语言方法,如 Thread.sleep()可以抛出 InterruptedException异常。程序需要暂停一段时间,于是调用 t.sleep(1000)休眠一秒。(t.sle

10、ep(1000)是Thread.sleep()的一个实例。)所以我在使用这个方法时先try捕获异常,然后catch处理异常(显示提示信息:异常)。2.2.5程序运行效果及存在的问题 在ECLIPSE下编译运行的效果如图。可以选择年月查看每月日历。并且能显示当前系统时间和某天是星期几。可以点击年份后的选择年,月份后的选择月,点查看按钮查看该月的日历。 存在的问题就是不能显示出农历效果,当然农历的算法比较复杂,就连Microsoft Windows系统的时间/日期功能也没有提供农历的效果。2.3程序部分源代码及注释QQ.java 源代码package xuliu;import org.eclips

11、e.jface.dialogs.MessageDialog;import org.eclipse.swt.SWT;import org.eclipse.swt.custom.*;import org.eclipse.swt.events.MouseAdapter;import org.eclipse.swt.events.MouseEvent;import org.eclipse.swt.events.MouseListener;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.Select

12、ionEvent;import org.eclipse.swt.layout.GridData;import org.eclipse.swt.layout.GridLayout;import org.eclipse.swt.layout.RowLayout;import org.eclipse.swt.widgets.*;public class QQ /* 为了自定义监听器类MyMouseListener中的代码能访问到以下对象,故将这些对象定义成类的实例变量 */ private StackLayout stackLayout = new StackLayout(); private Co

13、mposite yourDataComp; private Composite otherComp; private List selectList; private Composite rightComp; /* 由于自定义方法程序较长,这次的主程序框架选择了Eclispe“新建”向导的第二种public open() mothd */ public static void main(String args) try QQ window = new QQ(); window.open(); catch (Exception e) e.printStackTrace(); public voi

14、d open() Display display = Display.getDefault(); Shell shell = new Shell(); shell.setSize(550, 350); shell.setText(个人设置); shell.setLayout(new GridLayout(); / 分割窗口 SashForm sashForm = new SashForm(shell, SWT.BORDER); sashForm.setLayoutData(new GridData(GridData.FILL_BOTH); / 分割窗左边的列表框 selectList = ne

15、w List(sashForm, SWT.BORDER); / 作为演示只加了两项 selectList.setItems(new String 个人资料, 联系方式 ); / 加一个鼠标监听器 selectList.addMouseListener(MouseListener) new MyMouseListener(); / 右边的堆栈式面板 rightComp = new Composite(sashForm, SWT.NONE); rightComp.setLayout(stackLayout); / 共两项,将生成此面板的代码提出成一个方法,保证代码结构的清晰 yourDataCom

16、p = createYourDataComp(rightComp);/ 个人资料的面板 otherComp = createOtherComp(rightComp);/ 联系方式的面板 / 在堆栈面板上先显示个人资料界面 stackLayout.topControl = yourDataComp; / 分割窗口的左右空间比例 sashForm.setWeights(new int 1, 4 ); / 界面的按钮的面板 Composite buttonComp = new Composite(shell, SWT.BORDER); / 使用GridData设置buttonsComp在它你容器sh

17、ell中的布局方式 GridData gridData = new GridData(); gridData.horizontalAlignment = GridData.END;/ 让buttonComp向右靠 buttonComp.setLayoutData(gridData); / 设置buttonsComp的布局为RowLayout,用来设定buttonComp内组件的布局方式 RowLayout rowLayout = new RowLayout(); rowLayout.spacing = 15;/ 按钮之间间隔15个元素 buttonComp.setLayout(rowLayou

18、t); / 在buttonComp下建立三个按钮 Button btn1 = new Button(buttonComp, SWT.NONE); btn1.setText(确定); btn1.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) MessageDialog.openInformation(null, 提示, 你单击了确定按钮); System.exit(0); ); Button btn2 = new Button(buttonComp, SWT.NONE

19、); btn2.setText(取消); btn2.addSelectionListener(new SelectionAdapter() public void widgetSelected(SelectionEvent e) MessageDialog.openInformation(null, 提示, 你单击了取消按钮); System.exit(0); ); Button btn3 = new Button(buttonComp, SWT.NONE); btn3.setText(应用); btn3.addSelectionListener(new SelectionAdapter()

20、public void widgetSelected(SelectionEvent e) MessageDialog.openInformation(null, 提示, 你单击了应用按钮); ); shell.layout(); shell.open(); while (!shell.isDisposed() if (!display.readAndDispatch() display.sleep(); / 个人资料面板的生成 private Composite createYourDataComp(Composite rightComp) Composite composite = new

21、Composite(rightComp, SWT.NONE); composite.setLayout(new GridLayout(6, false);/ 个人资料面板分成6列 / 用户号码的标签及文本框 new Label(composite, SWT.NONE).setText(用户号码); / 只读型的文本框 Text text = new Text(composite, SWT.READ_ONLY | SWT.BORDER); / 水平抢占式充满,并占用三列的空间 createGridData是自定义方法 text.setLayoutData(createGridData(GridD

22、ata.FILL_HORIZONTAL, 3); / 图片部分,我们再用一个面板嵌套来管理 Composite photoComp = new Composite(composite, SWT.BORDER); / 水平垂直对齐式充满,横占两列,竖占4行 photoComp.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_FILL, 2, 4); photoComp.setLayout(new GridLayout(2, false);/ 分2列 / 图片 Image类的

23、使用暂还没讲到,我们先用一个Composite来代替图片 Composite tempComp = new Composite(photoComp, SWT.BORDER); tempComp.setLayoutData(new GridData(50, 50);/ 设定大小; 宽50,高50 / 选择图片的箭头型按钮,并设置它向下靠 Button selPhotoButton = new Button(photoComp, SWT.ARROW | SWT.DOWN); selPhotoButton.setLayoutData(new GridData( GridData.VERTICAL_A

24、LIGN_END); / 升级成为会员的按钮,横占photoComp的两列,并横向对齐充满 Button updateButton = new Button(photoComp, SWT.NONE); updateButton.setLayoutData(createGridData( GridData.HORIZONTAL_ALIGN_FILL, 2); updateButton.setText(升级成为会员); new Label(composite, SWT.NONE).setText(用户昵称); Text nicknameText = new Text(composite, SWT.

25、BORDER); nicknameText.setLayoutData(createGridData( GridData.HORIZONTAL_ALIGN_FILL, 3); new Label(composite, SWT.NONE).setText(个性签名); Text attachNameText = new Text(composite, SWT.BORDER); attachNameText.setLayoutData(createGridData( GridData.HORIZONTAL_ALIGN_FILL, 3); new Label(composite, SWT.NONE)

26、.setText(等级); / Image类的使用暂还没有讲到,我们先用一个Composite来代替图片 Composite tempComp = new Composite(composite, SWT.BORDER); GridData gridData = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING); gridData.horizontalSpan = 3; / Composite默认的高度太高,故手工设定高度为20像素 gridData.heightHint = 20; tempC

27、omp.setLayoutData(gridData); new Label(composite, SWT.NONE).setText(姓名); Text nameText = new Text(composite, SWT.BORDER); nameText.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL); new Label(composite, SWT.NONE).setText(性别); Combo setCombo = new Combo(composite, SWT.NONE); new Label(compos

28、ite, SWT.NONE).setText(年龄); Text okText = new Text(composite, SWT.BORDER); okText.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL); new Label(composite, SWT.NONE).setText(毕业院校); Text schoolText = new Text(composite, SWT.BORDER); schoolText.setLayoutData(createGridData(GridData.HORIZONTAL_A

29、LIGN_FILL, 3); new Label(composite, SWT.NONE).setText(生肖); Combo animalCombo = new Combo(composite, SWT.NONE); animalCombo.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL); new Label(composite, SWT.NONE).setText(职业); Text jobText = new Text(composite, SWT.BORDER); jobText .setLayoutData(cr

30、eateGridData(GridData.HORIZONTAL_ALIGN_FILL, 3); new Label(composite, SWT.NONE).setText(星座); Text starText = new Text(composite, SWT.BORDER); Label introLabel = new Label(composite, SWT.NONE); / 默认是居中,改为顶端对齐 introLabel .setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING); introLabel.setText(个人说明); Text introlText = new Text(composite, SWT.BORDER | SWT.WRAP);/ WRAP自动换行 introlText.setLayoutData(createGridData(GridData.HORIZONTAL_ALIGN_FILL

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

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