- 7
- 0
- 约1.68千字
- 约 3页
- 2017-05-31 发布于天津
- 举报
时间与日期.doc
时间与日期
背景描述
完成Swing学习之后,可以开始练习该项目。
实现要求
模仿Windows的时间与日期,只需完成时间与日期的功能即可。
实现技术
使用GregorianCalendar获取日期相关;
使用JTable、JComboBox、显示当前日期,并添加选择事件完成日期的显示;
覆盖paint函数完成表盘的绘制。
熟练使用布局进行排版。
使用JTabledPane。
类图
类图
类图说明
类名称 PermanentCalendar 类描述 日期和时间显示主类。 包描述 main 函数描述 public static void main String[] args 时间和日期运行主函数。
类名称 CalendarPane 类描述 时间与日期主程序类。 包描述 frm 函数描述 public CalendarPane 缺省构造函数界面类。 public void actionPerformed ActionEvent e 按钮事件。
类名称 DatePane 类描述 日期类。主要功能:绘制日期面板。
练习使用GregorianCanlerdar、JComboBox、JSpinner、JTable类的使用。
练习使用ActionListener、ChangeListener事件的使用。 包描述 frm 函数描述 public DatePane 日期面板构造函数。 private void initMouth 初始化下拉框 月 的显示 private String[][] getCalendarTable int year,int mouth 获取当前year和当前mouth的日期所表示的二维数组。 private void updateCalendar 更新日期的表格显示。 public void actionPerformed ActionEvent e 按钮事件。 public void stateChanged ChangeEvent e 按钮事件。
类名称 TimePane 类描述 时间显示类。
练习使用Graphics、Timer类的使用。
练习使用ActionListener事件的使用。 包描述 frm 函数描述 public TimePane 构造一个时间显示类。 private void changeTime 时间的修改。每隔1秒钟,秒钟自加1。每隔60秒,分针自加1,秒针为0。每个60分,时针自加1,分针变为0。每隔24时,时针变为0。 public void paint Graphics g 完成表盘和表针的绘制。 public void paintWatchFace Graphics g 表盘的绘制。请先考虑好绘制的原理及方法再绘制。 public void paintTime Graphics g 绘制时针、分针、秒针。请先考虑好绘制的原理及方法再绘制。 public void actionPerformed ActionEvent e 每个一秒出发重绘时针、分针、秒针的重绘。
还有JSpinner的重新显示。 public void stateChanged ChangeEvent e JSpinner的值改变事件。
效果图
技术技巧提问
如何获取某年某月某日,为当月星期几。或者获取当月1日为本周第几天。
使用GregorianCalendar的get方法获取当日的一些信息;使用GregorianCalendar的set方法设置当前日为1号,然后使用get方法获取这些信息。使用完成后记得将当前日期还原。
表盘、表针的绘制?
请仔细思考后再绘制。
DefaultTableModel的使用?JTable中的数据如何禁止编辑?
覆盖DefaultTableModel中的isCellEditable函数,始终都返回false即可。
附加说明
您可能关注的文档
最近下载
- 《岭外代答》的人类学解读实验——兼论宋代华夷之辨的弱化.pdf VIP
- QSH 0081-2007 探井(直井)钻井工程设计.docx VIP
- 《岭表录异》青少年读物.pdf VIP
- 资产处置委托协议书模板5篇.docx VIP
- mipi_CSI-2_specification_v1.3._高清版电子文档.pdf VIP
- QSH 0042-2007 钻井液用磺甲基酚醛树脂技术要求.docx VIP
- 《QSH0047-2007-钻井液用抗高温抗盐降滤失剂通用技术要求》.pdf VIP
- 股市主力操盘盘 口摩斯密码(原创内容,侵权必究).pptx
- 指数基金投资指南(银行螺丝钉).pdf VIP
- 《QSH0082-2007-水平井钻井工程设计要求》.pdf VIP
原创力文档

文档评论(0)