您好,欢迎访问三七文档
辽宁工业大学JAVA程序设计课程设计(论文)题目:万年历设计院(系):软件学院专业班级:计算机网络技术072班学号:071406066学生姓名:任奚南指导教师:赵锦教师职称:助教起止时间:2008.5.26至2008.6.8程序设计专题(报告)任务及评语院(系):软件学院教研室:软件教研室学号071406066学生姓名任奚南专业班级计算机网络技术072班程序设计(报告)题目万年历设计程序设计(报告)任务程序设计专题的任务与要求:(1)掌握Java编程、面向对象的基础知识。(2)较熟练地编写Java应用程序Application。(3)了解Java的常用标准类库、编程技巧、异常处理。(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。课程设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。正确地完成上述内容,记录实习日记,规范完整地撰写出课程设计报告。指导教师评语及成绩成绩:指导教师签字:2008年6月9日辽宁工业大学课程设计说明书(论文)目录第1章课程设计的目的与要求................................................11.1课程设计目的........................................................11.2课程设计的实验环境..................................................11.3课程设计的预备知识..................................................11.4课程设计要求........................................................1第2章课程设计内容........................................................22.1课程设计主要内容....................................................22.2概要设计............................................................22.2.1自定义类说明..................................................22.3详细设计............................................................52.4测试分析...........................................................112.4.1程序运行情况.................................................112.4.2程序异常处理.................................................13第3章课程设计总结........................................................14参考资料..................................................................15辽宁工业大学课程设计说明书(论文)1第1章课程设计的目的与要求1.1课程设计目的《JAVA程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。1.2课程设计的实验环境硬件要求能运行Windows9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。1.3课程设计的预备知识熟悉JAVA语言及ECLIPSE开发工具。1.4课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。辽宁工业大学课程设计说明书(论文)2第2章课程设计内容2.1课程设计主要内容本次课程设计的主要内容是编写一个万年历程序,主要目的是加强对Java的实际运用,了解图形用户界面的基本组件窗口、按纽(JButton)、标签(JLabel)、下拉表组件(JComboBox)、文本框(TextBox)、选择框、查询事件的处理,菜单的设计还有日期的计算等的使用方法,了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。万年历是一个强大的日历系统,通过它可以实现对过去,现在以及将来日期的查找,通过在年份对应的下拉菜单中选择要查询的年份,再相应的在月份对应的下拉菜单选择要查询的月份,则可得到相应的日历。此外,还可以显示出数字时间,很方便用户的查询。本实验是对图形用户界面,布局管理器的综合运用,理解JAVA的时间处理机制,编写独立运行的窗口。2.2概要设计本程序涉及三个类,MainFrame为显示日期部分的类,是程序中的主类,ClockAction是对所要查询的年份及其月份进行选择的类,Clock是对当前时间进行显示的类,位与整个界面的底部,程序运行时,只要运行MainFrame即可显示出日期以及时间的详细信息。以下是对这三个类的具体说明。2.2.1自定义类说明(1)类名:ClockAction作用:获取当前下拉列表中所选择的信息实现的接口:ActionListenerActionListener用于接收操作事件的侦听器接口。使用该类创建的对象可使用组件的addActionListener方法向该组件注册。在发生操作事件时,调用该对象的辽宁工业大学课程设计说明书(论文)3actionPerformed方法。ActionEvent指示发生了组件定义的动作的语义事件。当特定于组件的动作(比如被按下)发生时,由组件生成此高级别事件。事件被传递给每一个ActionListener对象,这些对象是使用组件的addActionListener方法注册的,用以接收这类事件。具体说明如下://对当前所选年份、月份的查询classClockActionimplementsActionListener{publicvoidactionPerformed(ActionEventarg0){intc_year,c_month,c_week;c_year=Integer.parseInt(com1.getSelectedItem().toString());//得到当前所选年份c_month=Integer.parseInt(com2.getSelectedItem().toString())-1;//得到当前月份,并减1,计算机中的月为0-11c_week=use(c_year,c_month);//调用函数use,得到星期几Resetday(c_week,c_year,c_month);//调用函数Resetday}}(2)类名:MainFrame作用:主类继承的父类:JFrame实现的接口:没有JFrame是MainFrame的父类,当用户试图关闭窗口时,JFrame知道如何进行响应。用户关闭窗口时,默认的行为只是简单地隐藏JFrame。在多屏幕环境中,可以在不同的屏幕设备上创建一个JFrame。主要方法说明:publicstaticvoidmain(String[]args){JFrame.setDefaultLookAndFeelDecorated(true);newMainFrame();}(3)类名:Clock作用:显示时间的类继承的父类:Canvas辽宁工业大学课程设计说明书(论文)4实现的接口:RunnableCanvas是Clock的父类,它表示屏幕上一个空白矩形区域,应用程序可以在该区域内绘图,或者可以从该区域捕获用户的输入事件。Runnable接口由Clock类来实现,设计该接口的目的是为希望在活动时执行代码的对象提供一个公共协议。主要方法说明://用来显示时间的方法publicvoidpaint(Graphicsg){Fontf=newFont(宋体,Font.BOLD,16);SimpleDateFormatSDF=newSimpleDateFormat(yyyy'年'MM'月'dd'日'HH:mm:ss);//格式化时间显示类型Calendarnow=Calendar.getInstance();time=SDF.format(now.getTime());//得到当前日期和时间g.setFont(f);g.setColor(Color.orange);g.drawString(time,45,25);}}成员变量表表1MainFrame成员变量成员变量描述变量类型名称文件FileFile文本区JTextAreaTextarea单选按钮菜单项JRadioButtonMenuItemRbmi_red,rbmi_blue,rbmi_greerbmi_pink,rbmi_yellow菜单项JMenuItemmenuitem_copy,menuitem_cut,menuitempaste,menuitem_seek字体菜单项JMenuItemmenuitem_song,menuitem_fangmenuitem_hua,menuitem_kai字形菜单项JMenuItemmenuitem_normal,menuitem_bold,menuitem_italic字号菜单项JMenuItemmenuitem_20,menuitem_30,menuitem_40,menuitem_50,辽宁工业大学课程设计说明书(论文)5菜单JMenuItemmenuitem_exit,menuitem_infor快捷菜单JPopupMenuPopupmenu颜色菜单项JMenuItemmenuitem_red,menuitem_greenmenuitem_blue,menuitem_pinkmenuitem_yellow对话框JDialogDialog,dialog1对话框按钮JButtonButton_seek查找文本条JTextAreaTextfield_seek标签JLabelLabel_seek,label_infor文件名StringSeek2.3详细设计本程序包括两部分,一部分是MainFrame.java,用来显示日期,另一部分是Clock.java,用来显示时间。编写程序时,首先创建MainFrame类,在MainFrame类中编写显示日期的代码,再创建Clock类,再向Clock类中编写显示时间的代码,把MainFrame类和Clock类放在同一个项目中,运行程序时,只需运行MainFrame即可显示出所有信息,此时,在界面上会显示出相应的日期,同时,在界面的底部会显示出当前的时间。以下是程序的第一部分,也是程序的主体部分。运行时,
本文标题:84万年历
链接地址:https://www.777doc.com/doc-3394361 .html