ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:468.16KB ,
资源ID:16717500      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16717500.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(万年历课程设计说明书Word文件下载.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

万年历课程设计说明书Word文件下载.docx

1、关键词: 万年历;图形界面;java技术序 言1996年Java第一次发布就引起了人们的极大兴趣。关注Java的人士不仅限于计算机出版界,还有诸如纽约时报、华盛顿邮报、商业周刊这样的主流媒体。Java时第一种也是唯一一种在National Public Radio上占用了十分钟时间进行介绍的程序设计语言,并且还得到了$100 000 000的风险投资基金。这些基金全部用来支持这种特别的计算机语言开发的产品。Java语言在Internet舞台上以及亮相便名声大噪,其原因在于它将有望成为连接用户与信息的万能胶,而不论这些信息来源于Web服务器、数据库、信息提供商,还是任何其他渠道,Java固有的可

2、靠性与安全性不仅令Java程序员放心,也令使用Java程序的用户放心。而此次将用Java设计一个万年历表,我们更加了解Java面向对象的程序设计语言。正 文一、系统分析与设计1、系统的要求(1)定义一个时间类Time,能提供时、分、秒组成的时间,并提供时间增加的方法(按秒);(2)定义一个日期类Date,记录年、月、日,并提供日期增加的方法(按天);(3)由类Time和日期类Date,派生出DateTime类,除具有年、月、日、时、分、秒外,还增加国名和与格林威治时间的差;(4)输入年、月、日、时、分、秒,在屏幕上模拟显示一电子计时器,不断输出下一秒的时间和日期,以及格林威治的日期和时间。2、

3、系统的总体设计系统的界面结构设计图如下:图1 万年历界面结构图二、详细设计 2.1 类Calendars 主类Calendars实现Runnable、ActionListener、ItemListener接口中的run()方法、actionPerformed()方法和itemStateChanged()方法。创建构造方法calendar()完成构造窗体的功能。创建主方法main()构造对象,实现线程机制调度,进入程序开始操作。实现run方法(),完成线程机制,即动态显示时间。创建内部类BgoAction和BstopAction实现按钮的功能。2.2 类Time设置私有成员变量hour、 min

4、ute 、second都为整型。设置成员方法如下:public void changeBtoG(Time a,Time b)此方法以将北京时间转变为格林威治时间public void gethour(Time t,String str)、public void getminute(Time t,String str)和public void getsecond(Time t,String str)三个成员方法分别用以获得设置的北京时间时、分、秒。public void setzero(Time timer)此方法用于将时间全部归零。public void timeadd(Time timer)

5、此方法用于时间的增加。public String showhour()、public String showminute()public String showsecond()此三个成员方法分别用于返回设置的时、分、秒。public String showtime(Time obj)用字符串方式返回设置的时间。2.3 类CalTabel此类用于构造日历并用表Table的形式显示。设置了三个按钮 JButton lastMonthButton = new JButton(JButton currentButton = new JButton(今并设置三个内部类LML 、NML 和CBL分别通过实

6、现接口ActionListener中的actionPerformed()方法来完成三个按钮的功能。构造方法CalTabel()用于创建显示日历的Tabel 表。三、系统测试 3.1 万年历界面制作如下:图2 万年历操作界面3.2 在操作界面上按“”按钮,显示下一月如下:图3 显示下一个月的日历3.3 在图3中点击按钮“”显示上一月如下图:图4显示上一月的日历3.4在图4中设置时间的时、分、秒分别为10,20.30如下图所示:图5设置北京时间3.5在图5中点击按钮“确定”,北京时间和格林威治时间将自动运行,截图如下:图6 时间自动运行3.6在图6中点击按钮“停止”,时间将停止在某一时刻如下图:图

7、7设置的时间停止运行四、软件使用说明书 1在图2中所示,按钮“”、“”、“今”的功能分别为在日历表中显示上一月日历,在日历表中设置下一月日历,在日历表中显示本月日历。2列表“时”、“分”、“秒”分别用来选择北京时间的时、分、秒的设置。3按钮“确定”用来确定北京时间设置并运行北京时间和格林威治时间。4按钮“停止”用来停止北京时间和格林威治时间的运行。设计总结万年历表的设计,是通过Java图形界面来实现的。在设计过程中,我遇到了很多不曾知道的困难,如采用布局管理器布局后,将组件精确放置在指定地方,以及对组件的设计和实现组件在窗体中的功能。对于遇到的这些困难,刚开始的时候我是一筹莫展的,也让我在设计

8、过程中十分狼狈。此后,我就又回到书本,把在设计中遇到的问题对照着书一一了解,一一分析,虽然仍然还有很多问题,但是设计总算在推进中,这一点让我很欣慰。在自己重新学习的过程中,感觉自己对Java的了解真是九牛一毛。所以我下定决心要虚心求教,在后来毫无头绪的设计中,我通过不断地询问,也非常幸运地获得了同学们的细心指导。于是让我这对Java知之甚少的人完成了这次对万年历的设计。在对万年历设计的过程中,通过那些对我产生困难的问题,让我重新明白了Java这门程序设计语言,也让我深深地体会到了程序设计的苦涩和甘甜。参考文献1曲朝阳,杨杰明等.Java程序设计. 北京: 清华大学出版社,2008.102耿祥以

9、,张跃平.Java大学生实用教程. 北京: 电子工业出版社,2012.6 3明日科技.Java经典编程.北京:清华大学出版社,2012.104李尊朝,苏军.Java语言程序设计.北京:中国铁道出版社,2004.25王博. 面向对象的建模、设计技术与方法. 北京希望电脑公司,1990.致 谢能比较顺利地完成这次课程设计,很大程度上得力于老师和同学们的帮助,在此向他们致以诚挚的谢意。这次很多细节的地方能完成都得感谢老师的耐心指导,他们的严谨治学让我受益匪浅,也让对我以后的学习和工作的态度产生了积极地影响。在程序设计中,同学们七嘴八舌,各抒己见,相互帮助,以使我们能够我们能在这枯燥的程序设计中自娱自

10、乐,并且比较顺利地完成。这不仅让我们在技术上更上一层楼,还让我们的感情更进一步了,在此感谢他们。附 录 1(源代码)package calender;import java.util.*;import java.awt.*;import java.awt.List;import java.awt.event.*;import java.text.SimpleDateFormat;public class Calendars implements Runnable,ActionListener,ItemListener Calendar cal1 = new GregorianCalendar(

11、); CalTable tabel=new CalTable(cal1); Time timer=new Time(); Time gtimer=new Time(); Frame calendar; Panel panel1,panel2,panel3,panel4; Panel panel21,panel22; Label label1; Label labelhour,labelminute,labelsecond,labeltime,labelbeijing,labelGreenwich; Label label,labelbeijingtime,labelGreenwichtime,

12、labelnull,labelnull2; Label labelSouth; List listhour,listminute,listsecond; Button buttonsure,buttonstop; private boolean state; public boolean getstate()return state; public Calendars() *创建、设置窗体* calendar=new Frame(Calendars calendar.setSize(500, 365); calendar.setLayout(new BorderLayout(); calend

13、ar.setResizable(false); 窗体大小不可改变 calendar.setVisible(true); *创建、设置面板1* panel1=new Panel(); panel1.setBackground(Color.lightGray); label1=new Label( ,Label.RIGHT); panel1.add(label1); 将面板1加入到窗体calendar calendar.add(panel1,BorderLayout.NORTH); *创建、设置面板2* panel2=new Panel(); panel2.setLayout(new GridLa

14、yout(); panel2.setBackground(Color.lightGray); 创建按钮 Button buttonsure=new Button(确 定 buttonsure.addActionListener(new BgoAction(); Button buttonstop=new Button(停 止 buttonstop.addActionListener(new BstopAction(); labelnull=new Label( labelnull2=new Label(); labelbeijingtime=new Label( labelGreenwicht

15、ime=new Label(00:00 创建标签 labelhour=new Label( 时: labelminute=new Label( 分: labelsecond=new Label( 秒: 创建列表 listhour=new List(1,true); for(int i=0;i24;i+)listhour.add(String.valueOf(i); listminute=new List(1,true);60;i+)listminute.add(String.valueOf(i); listsecond=new List(1,true);i+)listsecond.add(St

16、ring.valueOf(i); 列表不设置多项选择,只允许单项选择 listhour.setMultipleMode(false); listminute.setMultipleMode(false); listsecond.setMultipleMode(false); 设置列表大小 listhour.setSize(20, 10); 给列表添加事件监听器 listhour.addActionListener(this); listhour.addItemListener(this); listminute.addActionListener(this); listminute.addIt

17、emListener(this); listsecond.addActionListener(this); listsecond.addItemListener(this); 将标签和列表添加到面板 panel2.add(labeltime); panel2.add(labelnull); panel2.add(labelhour); panel2.add(listhour); panel2.add(labelminute); panel2.add(listminute); panel2.add(labelsecond); panel2.add(listsecond); panel2.add(

18、buttonsure); panel2.add(buttonstop); panel2.add(labelbeijing); panel2.add(labelbeijingtime); panel2.add(labelGreenwich); panel2.add(labelGreenwichtime); 将面板2加入到窗体calendar calendar.add(panel2,BorderLayout.EAST); *创建、设置面板3* panel3=new Panel(); panel3.setLayout(new GridLayout(1,1); panel3.add(tabel); 将

19、面板3加入到窗体中 calendar.add(panel3,BorderLayout.CENTER); *创建、设置面板4* panel4=new Panel(); panel4.setLayout(new GridLayout(1,1); panel4.setBackground(Color.lightGray); labelSouth=new Label(thank you ! panel4.add(labelSouth); *将面板4加入窗体* calendar.add(panel4,BorderLayout.SOUTH); *关闭窗口* calendar.addWindowListen

20、er(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); public static void main(String args) TODO Auto-generated method stub Calendars my=new Calendars(); Thread thread=new Thread(my); thread.start(); public void run() while(true) SimpleDateFormat sdf = new SimpleDateForma

21、t(yyyy-MM-dd e) public void actionPerformed(ActionEvent e) public void itemStateChanged(ItemEvent e) List temp; String sList; String mgr=new String( if(e.getItemSelectable()instanceof List) temp=(List)(e.getItemSelectable(); sList=temp.getSelectedItems(); for(int i=0;sList.length;i+) mgr=mgr+sListi+

22、; if(e.getSource()=listhour)timer.gethour(timer,mgr); if(e.getSource()=listminute) timer.getminute(timer,mgr); if(e.getSource()=listsecond) timer.getsecond(timer,mgr);private class BgoAction implements ActionListener state=true; private class BstopAction implements ActionListener state=false;class T

23、ime private int str; else return s; public String showminute() String s,str; s=String.valueOf(minute); if(minute10) str=0+s; return str; public String showsecond() s=String.valueOf(second); if(second public String showtime(Time obj) String str; str=obj.showhour()+:+obj.showminute()+obj.showsecond();

24、import javax.swing.*;import java.text.*;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableModel;import javax.swing.table.TableCellRenderer;import java.awt.Font;import javax.swing.table.JTableHeader;public class CalTable extends JPanel private static final long se

25、rialVersionUID = 1L; JButton lastMonthButton = new JButton( JButton nextMonthButton = new JButton( JButton currentButton = new JButton( JLabel currentMonthLabel = new JLabel(); JTable table = new JTable(); Calendar calendar; int today; int monthDays; int whiteDay; public CalTable(Calendar calendar)

26、this.calendar=calendar; setOpaque(false); lastMonthButton.setToolTipText(上个月 nextMonthButton.setToolTipText(下个月 currentButton.setToolTipText(今天 lastMonthButton.setBackground(Color.WHITE); nextMonthButton.setBackground(Color.WHITE); currentButton.setBackground(Color.WHITE); updateTable(calendar); setSelected(); lastMonthButton.addActionListener(new LML(); nextMonthButton.addActionListener(new NML(); currentButton.addActionListener(new CBL(); Box buttonPane = Box.createHorizontalBox(); buttonPane.add(lastMonthButton); buttonPane.add(Box.createHorizontalGlue(); buttonPane.add(currentM

copyright@ 2008-2022 冰豆网网站版权所有

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