Java课程设计计划书_制作简单的日历.doc_第1页
Java课程设计计划书_制作简单的日历.doc_第2页
Java课程设计计划书_制作简单的日历.doc_第3页
Java课程设计计划书_制作简单的日历.doc_第4页
Java课程设计计划书_制作简单的日历.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java课程设计计划书 院系_xxxxxxxx_ 专业_xxxx_ 年班_xxxx_ 设计人_xxxxx_ 一、课程设计题目2二、目的2四、效果2六:用到的包3七:源程序代码3八、效果截图8九、指导教师9十、参考文献9一、课程设计题目制作简单的日历二、目的1、 培养独立的Java语言与算法设计方法,具备初步的独立分析和设计能力;2、 学习软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3、 训练综合运用所学的理论知识和方法进行独立分析和解决问题的能力;4、 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。5、 设计的题目要求达到一定工作量,程序能够运行,并对标准的测试数据有正确的输出结果。三、意义 通过编写一个基于JAVA的应用系统综合实例,自定义一个日历组件显示日期和时间并进行适当的功能扩充,实践Java语言编程技术。四、效果1)显示当月日历、当前日期、当前时间;2)可查寻任意月以及任意年的日历;3)使用图形化界面能够弹出对话框;5)正常退出程序。 五:系统模块划分1)初始化;2)日历描述;六:用到的包import java.awt.*;import javax.swing.*; import java.util.*;import java.awt.*;import java.awt.event.*;import javax.swing.*; import java.util.Calendar;七:源程序代码import java.awt.*;import javax.swing.*; class Startpublic static void main(String args)DateFrame frame=new DateFrame();/创建对象frame.setLocationRelativeTo(frame);/相对定位frame.setResizable(false);/设置窗体不可改变大小frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/设置关闭按钮frame.setVisible(true);/设置可见/DateInfo.javaimport java.util.*;public class DateInfoprivate int mYear, mMonth;private int mDayOfMonth, mFristWeek;public DateInfo(int year, int month) throws DateExceptionmYear = year;if (month 12)throw (new DateException();/发生错误传给DateException创建异常对象mMonth = month;mDayOfMonth = getDayOfMonth(mYear, mMonth);mFristWeek = getFristWeek(mYear, mMonth);private int getDayOfMonth(int year, int month)int ary = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,/平年的月份 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31/闰年的月份;return (aryisLeapYear(year)month);/闰年private int isLeapYear(int year)if (year % 4 = 0 & year % 100 != 0 |year % 400 = 0)return (1);/返回闰年的elsereturn (0);/返回平年的private int getFristWeek(int year, int month)/通过calendar的静态方法getInstance的某种重载形式获得某个区域的日历对象java.util.Calendar cal = Calendar.getInstance();/calendar类默认的日立对象cal.set(year, month -1,1);return (cal.get(Calendar.DAY_OF_WEEK) );/表示星期的第几天/程序算法public String toString()String str;str = tt + mYear + 年 + mMonth + 月n;str += 日t一t二t三t四t五t六n;int i;for (i = 1; i = mFristWeek; i+)/计算某一天是周几的算法str += t;for (int j = 1; j = mDayOfMonth; j+, i+)str +=j+t ;if (i % 7 = 0)str += n;return (str);import java.awt.*;import java.awt.event.*;import javax.swing.*; import java.util.Calendar;class DateFrame extends JFrame implements Runnable/继承类JFrame实现接口Runnable Calendar date=Calendar.getInstance();String str=1,2,3,4,5,6,7,8,9,10,11,12;JLabel lblYear=new JLabel(年 );/创建显示年的组件(JLabel的作用:显示信息)JLabel lblMonth=new JLabel(月 );JLabel lblDate=new JLabel(现在的时间是:);JLabel lblShowDate=new JLabel();/javax.swing.JTextField trxt =new JTextField(10);/trxt.setHorizontalAlignment(JTextField.RIGHT); /设置文本从右边输入JComboBox cboMonth=new JComboBox(str);/创建一个新的JComboBox组件用来显示月份的下拉菜单JComboBox cboYear=new JComboBox();/显示年份的下拉菜单JTextArea txaShow=new JTextArea();/可编辑信息组件(用于显示某年某月的信息详情)JPanel pnlNorth=new JPanel();/一个新的面板对象(在上)JPanel pnlSOUTH=new JPanel();/(在下)JButton btnShow=new JButton(显示);JButton btnClose=new JButton(关闭);JScrollPane jsp=new JScrollPane(txaShow);/滚动条Container c=this.getContentPane();/得到面板里的内容public DateFrame()Thread thread=new Thread(this);/一个新的线程thread.start();/开始新的线程this.setTitle(日历);this.setSize(300,260);for (int i = 0001; i=9999; i+) cboYear.addItem(+i); cboYear.setSelectedItem(+(date.get(Calendar.YEAR);/组建内选择年 cboMonth.setSelectedItem(+(date.get(Calendar.MONTH)+1);/选择月pnlNorth.add(cboYear);txaShow.setTabSize(4); /设置tab键的距离txaShow.setForeground(Color.BLACK);pnlNorth.add(lblYear);pnlNorth.add(cboMonth);pnlNorth.add(lblMonth);pnlNorth.add(lblDate);pnlNorth.add(lblShowDate);c.add(pnlNorth,BorderLayout.NORTH);/c=containerc.add(jsp);/在面板内添加滚动条pnlSOUTH.add(btnShow);/在south内添加show按钮(pnl=JPanel)pnlSOUTH.add(btnClose);c.add(pnlSOUTH,BorderLayout.SOUTH); btnShow.addActionListener(new ActionListener()/接口 public void actionPerformed(ActionEvent e)/方法/调用integer类的parseint方法给cboyearint year=Integer.parseInt(String)cboYear.getSelectedItem();int month=Integer.parseInt(String)cboMonth.getSelectedItem();try DateInfo date=new DateInfo(year,month);/可能产生的异常txaShow.setText(+date); catch (DateException ex) /抓捕异常对象 ex.printStackTrace();/处理异常 );btnClose.addActionListener(new ActionListener()/时间监听器接口public void actionPerformed(ActionEvent e)/接口中的方法System.exit(0);/终止程序);public void run()try while(true)Thread.sleep(1000);/线程睡眠int hour=date.get(Calendar.HOUR);int minute=date.get(Calendar.MINUTE);int second=date.get(Calendar.SECOND);String str=hour+:+minute+:+second;lblShowDate.setText(str);/this.repaint(); catch (Exception ex) /捕获异常对象 ex.printStackTrace();/处理异常 /

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论