欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    java课程设计简单日历程序.docx

    • 资源ID:11023458       资源大小:47.88KB        全文页数:20页
    • 资源格式: DOCX        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    java课程设计简单日历程序.docx

    1、java课程设计简单日历程序java课程设计_简单日历程序湖南第一师范学院信息科学与工程系 课程设计报告 题 目 JAVA简易时间日历程序 2009 年 12 月 18 日 1. 课程设计任务书第 2页 2. 题目说明第 4页 3. 系统设计第 4页 4. 类及接口描述第 5页 5. 运行结果第 7页 6. 程序源代码第 8页 7. 总 结第17页 8. 参考文献第18页 2007级计算机应用专业Java课程设计 共19页 第,页 安排计划书 指导老师:伍智平 指导方式:集体辅导、分组讨论研究 一、 课程设计教学目的及基本要求 1、 培养独立的Java语言与算法设计方法,具备初步的独立分析和设

    2、计能力; 2、 学习软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3、 训练综合运用所学的理论知识和方法进行独立分析和解决问题的能力; 4、 训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 5、 设计的题目要求达到一定工作量,程序能够运行,并对标准的测试数据有正确的输出结果。 6、 按湖南第一师范学院信息科学与工程系课程设计报告写作规范要求的书写格式编写出课程设计报告书,报告书不少于8页(代码不算)。 二、 计划安排 1、 任务书下达时间:第15周 2、 任务讲解与动员:第15周 3、 任务设计与辅导: 辅导教师:伍智平 辅

    3、导形式:以学生自行设计为主,教师现场解答学生疑难问题。 纪律要求:上课前学生签到,课后学习委员交名单给老师。 4、完成时间:第16周星期四 三、课程设计课题与安排 每位学生在下面列出的设计题目中选择其中的一个独立完成: 课题详细要求:参见教材13.2节课程设计的要求和选题(P408413) 五、提交成果 1、课程设计报告(电子版和打印版,格式参照湖南第一师范学院信息科学与工程系课程设计报告写作规范)(注意:报告中一定要包括课程设计任务书,课程设计任务书的格式参加本文档的附件1) 共19页 第,页 2、源代码(电子版和打印版) 六、成绩评定 1、根据平时上机考勤(考勤20分);注重平时上机成绩,

    4、教师要不定期检查学生进度,学生不得以自己有私人电脑为借口而不来上机。 2、根据程序运行结果(上机演示30分); 3、 根据Java课程设计报告,学生能对自己的程序面对教师提问并能熟练地解释清楚(报告50分) 4、无报告书者或者答辩不通过者,课程设计记0分。 指导教师:伍智平 2009年12月10日 课程设计题目 2. 题目说明 通过编写一个基于JAVA的应用系统综合实例,自定义一个日历组件显共19页 第,页 示日期和时间并进行适当的功能扩充,实践Java语言编程技术。 3. 系统设计 2.1 设计目标 一个完整的程序应具有以下功能: 1)显示当月日历、当前日期、当前时间; 2)可查寻任意月以及

    5、任意年的日历; 3)使用图形化界面能够弹出对话框; 5)正常退出程序。 2.2 设计思想 设计一个类用来构成日历系统的主窗口,然后编写一个框架类显示时间和提示信息。在设计中应用了多种容器和控件。 2.3 系统模块划分 public static class CalendarTable(日历类) public class MyCalendar public static void main(String extends JApplet args) (主日历框架类) public static class RollbyJFrame (滚动时间类) 图1:简易日历的程序结构图 2.3.1 初始化:

    6、public void init()完成界面初始化,形成一个以挂历形式显示共19页 第,页 当前日期的窗口。 2.3.2 日历描述: (1)public void updateView()改变日期后完成更新界面; (2)抽象类java.util.Calendar获取系统日期并传递日期数据而且在人工改变日期后得出当天是周几; (3)public static void main(String args) 主函数完成系统各算法的调用并对主窗口的一些属性进行设置; 2.3.3 滚动时间: 将时间以文本的形式在文本框中滚动播出,并能改变滚动的速度。 4. 使用类及接口 仅仅简单说明类的功能,详细资料请

    7、参看 JavaTM 2 Platform Standard Ed. 6的电子文档,常规的接口与包则省略不屑。 /以下是日历程序块中使用的类 package fancy; import java.awt.*; import java.awt.event.*; import java.util.*; /主要用此包中的日期和时间类 import javax.swing.*; import javax.swing.event.*; import javax.swing.table.*; /以下是对滚动时间程序块所使用的类和接口, 用到定时器类Timer import java.awt.Color; 共

    8、19页 第,页 import java.awt.FlowLayout; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.awt.event.FocusListener;、 /用于监听鼠标单击(焦点改变)事件 import java.awt.event.FocusEvent; /用于响应鼠标单击(焦点改变)事件、 import javax.swing.JFrame; import javax.swing.JTextField; import javax.swing.JSpin

    9、ner; /让用户从一个有序序列中选择一个数字或者一个对象值的单行输入字段。 import javax.swing.JPanel; import javax.swing.Timer; /在指定时间间隔触发一个或多个 ActionEvent, 创建一个 Timer 对象,在该对象上注册一个或多个动作侦听器,以及使用 start 方法启动该计时器。并配合事件监听器支持时间的滚动播放。 import javax.swing.event.ChangeListener; import javax.swing.event.ChangeEvent; 5. 运行结果与分析 共19页 第,页 图2:初始界面显示

    10、日历。 图3:点击查看时间按钮, 弹出时间消息对话框。 图4:滚动显示当前时间。 6. 程序源代码 /* 共19页 第,页 * (#) MyCalendar.java * author fancy */ /日历使用的类 import java.awt.BorderLayout; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.even

    11、t.ActionListener; import java.awt.event.FocusEvent; import java.awt.event.FocusListener; import java.util.Calendar; import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax

    12、.swing.JPanel; import javax.swing.JSpinner; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.ListSelectionModel; import javax.swing.Timer; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.table.AbstractTableModel; import ja

    13、vax.swing.table.TableCellRenderer; import javax.swing.table.TableModel; /日历 public class MyCalendar extends JApplet public static final String WEEK_SUN = SUN; public static final String WEEK_MON = MON; public static final String WEEK_TUE = TUE; public static final String WEEK_WED = WED; public stati

    14、c final String WEEK_THU = THU; public static final String WEEK_FRI = FRI; 共19页 第,页 public static final String WEEK_SAT = SAT; public static final Color background = Color.yellow; public static final Color foreground = Color.black; public static final Color headerBackground = Color.blue; public stati

    15、c final Color headerForeground = Color.white; public static final Color selectedBackground = Color.blue; public static final Color selectedForeground = Color.white; private JPanel cPane; private JLabel yearsLabel; private JSpinner yearsSpinner; private JLabel monthsLabel; private JComboBox monthsCom

    16、boBox; private JTable daysTable; private AbstractTableModel daysModel; private Calendar calendar; private JButton button1; public MyCalendar() cPane = (JPanel) getContentPane(); public void init() cPane.setLayout(new BorderLayout(); calendar = Calendar.getInstance(); calendar = Calendar.getInstance(

    17、); JButton button1=new JButton( 单击此处 查看时间 ); button1.setBounds(10,10,10,10); cPane.add(button1,BorderLayout.SOUTH); button1.addActionListener( new java.awt.event.ActionListener() public void actionPerformed(ActionEvent e) RollbyJFrame myrili=new RollbyJFrame(); JOptionPane.showMessageDialog(null, 您点

    18、击了+e.getActionCommand().toString()+按钮); ); 共19页 第,页 yearsLabel = new JLabel(Year: ); yearsSpinner = new JSpinner(); yearsSpinner.setEditor(new JSpinner.NumberEditor(yearsSpinner, 0000); yearsSpinner.setValue(new Integer(calendar.get(Calendar.YEAR); yearsSpinner.addChangeListener(new ChangeListener()

    19、 public void stateChanged(ChangeEvent changeEvent) int day = calendar.get(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY_OF_MONTH, 1); calendar.set(Calendar.YEAR, (Integer) yearsSpinner.getValue().intValue(); int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH); calendar.set(Calendar.DAY

    20、_OF_MONTH, day maxDay ? maxDay : day); updateView(); ); JPanel yearMonthPanel = new JPanel(); cPane.add(yearMonthPanel, BorderLayout.NORTH); yearMonthPanel.setLayout(new BorderLayout(); yearMonthPanel.add(new JPanel(), BorderLayout.CENTER); JPanel yearPanel = new JPanel(); yearMonthPanel.add(yearPan

    21、el, BorderLayout.WEST); yearPanel.setLayout(new BorderLayout(); yearPanel.add(yearsLabel, BorderLayout.WEST); yearPanel.add(yearsSpinner, BorderLayout.CENTER); monthsLabel = new JLabel(Month: ); 共19页 第,页 monthsComboBox = new JComboBox(); for (int i = 1; i maxDay ? maxDay : day); updateView(); ); JPa

    22、nel monthPanel = new JPanel(); yearMonthPanel.add(monthPanel, BorderLayout.EAST); monthPanel.setLayout(new BorderLayout(); monthPanel.add(monthsLabel, BorderLayout.WEST); monthPanel.add(monthsComboBox, BorderLayout.CENTER); daysModel = new AbstractTableModel() public int getRowCount() return 9; publ

    23、ic int getColumnCount() return 7; 共19页 第,页 public Object getValueAt(int row, int column) if (row = 0) return getHeader(column); row-; Calendar calendar = (Calendar) MyCalendar.this.calendar.clone(); calendar.set(Calendar.DAY_OF_MONTH, 1); int dayCount = calendar.getActualMaximum(Calendar.DAY_OF_MONT

    24、H); int moreDayCount = calendar.get(Calendar.DAY_OF_WEEK) - 1; int index = row * 7 + column; int dayIndex = index - moreDayCount + 1; if (index dayCount) return null; else return new Integer(dayIndex); ; daysTable = new CalendarTable(daysModel, calendar); daysTable.setCellSelectionEnabled(true); day

    25、sTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); daysTable.setDefaultRenderer(daysTable.getColumnClass(0), new TableCellRenderer() public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) 共19页 第,页 String text =

    26、 (value = null) ? : value.toString(); JLabel cell = new JLabel(text); cell.setOpaque(true); if (row = 0) cell.setForeground(headerForeground); cell.setBackground(headerBackground); else if (isSelected) cell.setForeground(selectedForeground); cell.setBackground(selectedBackground); else cell.setForeg

    27、round(foreground); cell.setBackground(background); return cell; ); updateView(); cPane.add(daysTable, BorderLayout.CENTER); public static String getHeader(int index) switch (index) case 0: return WEEK_SUN; case 1: return WEEK_MON; case 2: return WEEK_TUE; case 3: 共19页 第,页 return WEEK_WED; case 4: re

    28、turn WEEK_THU; case 5: return WEEK_FRI; case 6: return WEEK_SAT; default: return null; public void updateView() daysModel.fireTableDataChanged(); daysTable.setRowSelectionInterval(calendar.get(Calendar.WEEK_OF_MONTH), calendar.get(Calendar.WEEK_OF_MONTH); daysTable.setColumnSelectionInterval(calendar.get(Calendar.DAY_OF_WEEK) - 1, calendar.get(Calendar.DAY_OF_WEEK) - 1); public static class CalendarTable extends JTable private Calendar calendar;


    注意事项

    本文(java课程设计简单日历程序.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开