Java课程设计-格式范例

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

东北石油大学《JAVA程序设计》专业技能实训2017年6月15日课程《java程序设计》专业技能实训题目万年历学院数学与统计学院专业班级信计14-2学生姓名沈小伟学生学号141001140228指导教师东北石油大学课程设计任务书课程《java程序设计》专业技能实训题目万年历专业信息与计算科学姓名沈小伟学号141001140228主要内容XXXXXXXXXXXXXXXXXXX专业技能实训的要求:1.独立完成软件开发,并提交一篇论文和相应的软件。2.论文的主要内容包括:摘要,问题描述,计算机程序和运行结果。3.文档格式:参照《东北石油大学课程设计撰写规范》。4.专业技能实训结束时参加答辩。主要参考资料:葛萌,张琳娜,陈伟。Java多态性机制应用研究[J].攀枝花学院学报,2016,02:25-28.贾羽,贾默然,郭宇。基于JAVA的网络数控仿真系统研究[J].数字技术与应用,2015,11:77.赵源。使用JAVA语言编写计算器的设计研究[J].今日科苑,2015,11:99.朱浩悦。计算机软件JAVA编程特点分析[J].黑龙江科技信息,2015,36:225.卞慧敏。浅议Java网络聊天工具设计[J].科技展望,2015,36:120.羿欣冉。基于JavaEE的在线考试系统的设计与实现[J].科技风,完成期限2017年月日-月日指导教师专业负责人2017年月日东北石油大学本科课程设计论文摘要本程序要构建的万年历程序,其功能有以下几个方面:一、设计程序运行界面,具有显示各种功能的面板模块,并对各功能按钮就行时间监听;二、程序需要显示1800年到2100年的日历,包括公历、农历、时间所对应的星期。要求系统能够从界面上的操作获取公历日期,计算其所对应的星期和相应的农历并显示到界面上;三、程序要求显示系统时间,并能设置闹铃。要求可以自己设置一个时间点,在这一时间点做出相应的响应;四、查询显示若干国际城市不同时区的时间,这里只需要调用Java的系统里就可以解决。五、对时间的更新,日历显示要求关联系统时间,能在进入程序时显示系统时间对应的日历,并能返回当天日历;六、程序界面的美观设计和人性化结构,要求具有良好的人机交互,容易理解界面内容,易操作;七、就现在的水平来说,功能1、2、3、5是可以实现,功能4有待研究,可能遇到的问题是按钮对时间的监听处理可能难度较大,还有就是在公历转农历中可能比较难获取相应的公历变化日期。关键字:时间信息获取、程序界面构建和美化、东北石油大学本科课程设计论文第一章基础知识1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为365。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。2.输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。4.获取系统时间,计算当天农历日期并显示1.课程设计的目的通过课程设计的实践让同学们更加了解Java,更好的运用Java,熟悉和掌握目前所学到的知识并融合贯通。同时也进一步了解体会Java语言具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有JavaME,JavaSE和JavaEE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。本次课程设计开发平台使用Eclipse。参照JDK帮助。2.问题描述及要求本程序的要求为:(1)能够显示实现1800-2100年的日期,包括公历、农历、星期、二十四节气。(2)能够按照月份格式显示,或按照星期格式显示。(3)能够显示系统时间。(4)能够设置闹钟。(5)能够查询若干国际大城市(分布在不同时区)的时间。东北石油大学本科课程设计论文第二章程序框架整体程序:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.table.DefaultTableModel;importjava.text.DateFormat;importjava.text.SimpleDateFormat;东北石油大学本科课程设计论文importjava.util.Calendar;importjava.util.Date;importjava.util.GregorianCalendar;importjava.util.Locale;importjava.util.TimeZone;publicclasswannianliextendsJframe//窗体类implementsActionListener,//事件处理接口MouseListener{privateCalendarcld=Calendar.getInstance();//获取一个Calendar类的实例对象,Calendar类用于获取某个时间或日期privateString[]astr={星期一,星期二,星期三,星期四,星期五,星期六,星期日};privateDefaultTableModeldtm=newDefaultTableModel(null,astr);//创建了一个表格模型privateJTabletable=newJTable(dtm);//JTable用来显示和编辑常规二维单元表privateJScrollPanesp=newJScrollPane(table);//JScrollPane类可提供轻量级组件的scrollable视图。JScrollPane管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口。privateJButtonbLastYear=newJButton(上一年);//建立一个“上一年“的按钮privateJButtonbNextYear=newJButton(下一年);privateJButtonbLastMonth=newJButton(上月);privateJButtonbNextMonth=newJButton(下月);//JPanel是Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing包中,东北石油大学本科课程设计论文是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField等privateJPanelp1=newJPanel();//设立八个中间容器,装入布局控制日期的按钮模块privateJPanelp2=newJPanel(newGridLayout(3,2));//网格布局privateJPanelp3=newJPanel(newBorderLayout());//边界布局privateJPanelp4=newJPanel(newGridLayout(2,1));//创建具有指定行数和列数的网格布局privateJPanelp5=newJPanel(newBorderLayout());//边界布局管理器,构造一个组件之间没有间距(默认间距为0像素)的新边框布局。privateJPanelp6=newJPanel(newGridLayout(2,2));privateJPanelp7=newJPanel(newGridLayout(2,1));privateJPanelp8=newJPanel(newBorderLayout());privateJComboBoxtimeBox=newJComboBox(TimeZone.getAvailableIDs());//对所有支持时区进行迭代,获取所有的id;JComboBox组件可以实现在组合框内编辑。//JTextField(intcolumns)//构造一个具有指定列数的新的空TextField。//JTextField是一个轻量级组件,它允许编辑单行文本。privateJTextFieldjtfYear=newJTextField(5);//jtfYeaar年份显示输入框privateJTextFieldjtfMonth=newJTextField(2);//jtfMouth月份显示输入框privateJTextFieldtimeField=newJTextField();//各城市时间显示框东北石油大学本科课程设计论文privatestaticJTextAreajta=newJTextArea(10,5);//农历显示区privateJScrollPanejsp=newJScrollPane(jta);//JScrollPane(Componentview);建立一个新的JScrollPane对象,当组件内容大于显示区域时会自动产生滚动轴。privateJLabell=newJLabel(梦落痴狂:亲!你可以直接输入年月查询.);//JLabel(Stringtext)创建具有指定文本的JLabel实例。privateJLabellt=newJLabel();privateJLabelld=newJLabel();//JLabel()创建无图像并且其标题为空字符串的JLabel。privateJLabellu=newJLabel(农历和节气);privateJLabelnull1=newJLabel();privateintlastTime;//privateStringlocalTime=null;privateStrings=null;privateSimpleDateFormatdateFormat=newSimpleDateFormat(yyyy年MM月dd日hh时mm分ss秒);//SimpleDateFormat允许以为日期-时间格式化选择任何用户指定的方式启动。例:SimpleDateFormatmyFmt=newSimpleDateFormat(yyyy年MM月dd日HH时mm分ss秒);SimpleDateFormatmyFmt1=newSimpleDateFormat(yy/MM/ddHH:mm);东北石油大学本科课程设计论文SimpleDateFormatmyFmt2=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss);得到:2004年12月16日17时24分27秒04/12/1617:242004-12-1617:24:27publicwannianli(){super(万年历一生痴狂一世繁华BY梦落痴狂);//框架命名this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//窗口关闭函数this.getContentPane().setLayout(newBorderLayout(9,10));//设置用户界面上的屏幕组件的格式布局,是java图形界面编程的常用方法jta.setLineWrap(true);//长度大于分配长度时候则换行jta.setFont(newFont(黑体,Font.BOLD,16));table.setBackground(Color.white);table.setGridColor(Color.pink);//星期之间的网格线是灰色的table.setBackground(Color.white);table

1 / 38
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功