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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

java课程设计万年历.docx

1、java课程设计万年历 1.设计分析:1.1需求分析 对于万年历系统,其主要功能是:查看当日日期(年、月、日)、查看当时时间、查看其他年月的月历、对选中的日期进行标识。主要使用流程是:查看万年历系统,查看其他月份或年份日历,选中其他日期查看,查看当日日期。1.2功能设计本程序要构建的万年历程序,其功能有以下几个方面:(1)通过JDK环境运行,实现图像界面。(2)能以月历的形式显示日期与星期。(3)支持用户自己用下拉形式来选择年份和月份。(4)通过点击“更新时间”按钮来刷新当前时间。 2.程序结构:3.各模块功能及程序说明:3.1 各种包的导入:import java.awt.BorderLay

2、out;import java.awt.Color;import java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Calendar;import java.util.GregorianCalendar;import javax.swing.JButton;import javax.swing.JComboBox;import ja

3、vax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;3.2控件的初始化contentPane = new JPanel(new BorderLayout();/ 主面板northPane = new JPanel(new BorderLayout(); / 放按钮面板的面板centerPane = new JPanel(new GridLayout(7, 7); / 中间的日期(七行七列)面板buttonPane = new JPanel(); /

4、按钮面板labelYear = new JButton(年份:); / 显示年份文字labelMonth = new JButton(月份:); / 显示月份文字buttonPreYear = new JButton(); / 下一年的按钮buttonPreMonth = new JButton();/ 下一月按钮newTime = new JButton(更新时间);boxYear = new JComboBox(); / 年的下拉列表boxMonth = new JComboBox(); / 月的下拉列表ca = new GregorianCalendar();Jhour = new JT

5、extField(2);Jminute = new JTextField(2);Jsecond = new JTextField(2);date = new JPanel();dateTime1 = new JLabel(时);dateTime2 = new JLabel(分);dateTime3 = new JLabel(秒);3.3绘制万年历的界面public WanNianLi() this.setTitle(万年历); this.setSize(500, 400); / 将面板居中处理 Dimension d = Toolkit.getDefaultToolkit().getScree

6、nSize(); int screenWidth = d.width; int screenHeight = d.height; this.setLocation(screenWidth - this.getWidth() / 2, (screenHeight - this.getHeight() / 2); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(true);3.4 增加控件/ 把按钮放到了按钮面板里buttonPane.add(labelYea

7、r);buttonPane.add(buttonPreYear);buttonPane.add(boxYear);buttonPane.add(buttonNextYear);buttonPane.add(labelMonth);buttonPane.add(buttonPreMonth);buttonPane.add(boxMonth);buttonPane.add(buttonNextMonth);/ 把按钮面板放到了northPane中northPane.add(buttonPane, BorderLayout.CENTER);/ 把northPane和centerPane放到主面板中c

8、ontentPane.add(northPane, BorderLayout.NORTH);contentPane.add(centerPane, BorderLayout.CENTER);contentPane.add(date,BorderLayout.SOUTH);3.5增加监听/给年份下拉列表添加事件监听器 boxYear.addActionListener(new ActionListener()/给月份下拉列表添加事件监听器boxMonth.addActionListener(new ActionListener()/上一年的按钮监听buttonPreYear.addActionL

9、istener(new ActionListener()/下一年的按钮监听buttonNextYear.addActionListener(new ActionListener()/上一月的监听buttonPreMonth.addActionListener(new ActionListener()/下一月的监听buttonNextMonth.addActionListener(new ActionListener()/更新时间按钮的监听newTime.addActionListener(new ActionListener() )3.6封装操作/ 封装给年份下拉列表赋值的操作private

10、void initBoxYear() /封装给月份下拉列表赋值的操作private void initBoxMonth() 4.源程序package 万年历;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;import java.awt.GridLayout;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Calen

11、dar;import java.util.GregorianCalendar;import javax.swing.JButton;import javax.swing.JComboBox;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;public class WanNianLi extends JFrame private int temp0 = 0; private int year = 0; private int mo

12、nth = 0; private int hour = 0; private int minute = 0; private int second = 0; Calendar ca = null; private JTextField Jhour = null; private JTextField Jminute = null; private JTextField Jsecond = null; private JPanel contentPane = null;/ 主面板 private JPanel northPane = null; / 放按钮面板的面板 private JPanel

13、 centerPane = null; / 中间的日期面板 private JPanel buttonPane = null; / 按钮面板 private JPanel time = null; /时钟面板 private JPanel date = null; private JButton labelYear = null; / 显示年份文字 private JButton labelMonth = null; / 显示月份文字 private JButton buttonPreYear = null; / 上一年按钮 private JButton buttonNextYear = n

14、ull; / 下一年的按钮 private JButton buttonPreMonth = null; / 上一月按钮 private JButton buttonNextMonth = null;/ 下一月按钮 private JButton newTime = null; private JComboBox boxYear = null; / 年的下拉列表 private JComboBox boxMonth = null; / 月的下拉列表 private JLabel labelDays = null; / 存储天 private JLabel dateTime1 = null; p

15、rivate JLabel dateTime2 = null; private JLabel dateTime3 = null; public WanNianLi() this.setTitle(万年历); this.setSize(500, 400); / 将面板居中处理 Dimension d = Toolkit.getDefaultToolkit().getScreenSize(); int screenWidth = d.width; int screenHeight = d.height; this.setLocation(screenWidth - this.getWidth()

16、/ 2, (screenHeight - this.getHeight() / 2); init(); / 封装初始化主控件的操作 this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(true); / 初始化主控件 private void init() contentPane = new JPanel(new BorderLayout();/ 主面板 northPane = new JPanel(new BorderLayout(); / 放按钮面板的面板

17、centerPane = new JPanel(new GridLayout(7, 7); / 中间的日期(七行七列)面板 buttonPane = new JPanel(); / 按钮面板 labelYear = new JButton(年份:); / 显示年份文字 labelMonth = new JButton(月份:); / 显示月份文字 buttonPreYear = new JButton(); / 下一年的按钮 buttonPreMonth = new JButton();/ 下一月按钮 newTime = new JButton(更新时间); boxYear = new JCo

18、mboBox(); / 年的下拉列表 initBoxYear(); boxMonth = new JComboBox(); / 月的下拉列表 initBoxMonth(); ca = new GregorianCalendar(); hour = ca.get(Calendar.HOUR_OF_DAY); minute = ca.get(Calendar.MINUTE); second = ca.get(Calendar.SECOND); Jhour = new JTextField(2); Jhour.setText(hour+); Jminute = new JTextField(2);

19、Jminute.setText(minute+); Jsecond = new JTextField(2); Jsecond.setText(second+); date = new JPanel(); dateTime1 = new JLabel(时); dateTime2 = new JLabel(分); dateTime3 = new JLabel(秒); date.add(Jhour); date.add(dateTime1); date.add(Jminute); date.add(dateTime2); date.add(Jsecond); date.add(dateTime3);

20、 date.add(newTime); / 把按钮放到了按钮面板里 buttonPane.add(labelYear); buttonPane.add(buttonPreYear); buttonPane.add(boxYear); buttonPane.add(buttonNextYear); buttonPane.add(labelMonth); buttonPane.add(buttonPreMonth); buttonPane.add(boxMonth); buttonPane.add(buttonNextMonth); / 把按钮面板放到了northPane中 northPane.a

21、dd(buttonPane, BorderLayout.CENTER); / 初始化放日期的label labelDays = new JLabel49; / 存储天 for (int i = 0; i labelDays.length; i+) labelDaysi = new JLabel(, JLabel.CENTER); centerPane.add(labelDaysi); boxYear.setSelectedItem(2013); boxMonth.setSelectedItem(12); YMD();/将第一界面设为系统当前事件 setDate(); / 把northPane和

22、centerPane放到主面板中 contentPane.add(northPane, BorderLayout.NORTH); contentPane.add(centerPane, BorderLayout.CENTER); contentPane.add(date,BorderLayout.SOUTH); this.add(contentPane); /更新时分秒 newTime.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Calendar ca = null; ca

23、= new GregorianCalendar(); int a = ca.get(Calendar.HOUR_OF_DAY); int b = ca.get(Calendar.MINUTE); int c = ca.get(Calendar.SECOND); Jhour.setText(a+); Jminute.setText(b+); Jsecond.setText(c+); ); /给年份下拉列表添加事件监听器 boxYear.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e)

24、 year = (Integer)boxYear.getSelectedItem(); setDate(); ); /给月份下拉列表添加事件监听器 boxMonth.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) month = (Integer)boxMonth.getSelectedItem(); setDate(); ); /上一年的按钮监听 buttonPreYear.addActionListener(new ActionListener() Over

25、ride public void actionPerformed(ActionEvent e) int resertYear = (Integer) boxYear.getSelectedItem(); boxYear.setSelectedItem(resertYear-1); ); /下一年的按钮监听 buttonNextYear.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) int resertYear = (Integer) boxYear.getSe

26、lectedItem(); boxYear.setSelectedItem(resertYear+1); ); /上一月的监听 buttonPreMonth.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) int resertMonth =(Integer)boxMonth.getSelectedItem(); int resertYear = (Integer) boxYear.getSelectedItem(); if(resertMonth = 1) if

27、(resertYear = 1901) boxMonth.setSelectedItem(resertMonth); boxYear.setSelectedItem(resertYear); else resertMonth = 12; boxMonth.setSelectedItem(resertMonth); boxYear.setSelectedItem(resertYear-1); else boxMonth.setSelectedItem(resertMonth-1); ); /下一月的监听 buttonNextMonth.addActionListener(new ActionLi

28、stener() Override public void actionPerformed(ActionEvent e) int resertMonth =(Integer)boxMonth.getSelectedItem(); if(resertMonth = 12) resertMonth = 1; boxMonth.setSelectedItem(resertMonth); int resertYear = (Integer) boxYear.getSelectedItem(); boxYear.setSelectedItem(resertYear+1); else boxMonth.setSelectedItem(resertMonth+1); ); / 封装给年份下拉列表赋值的操作 private void initBoxYear() for (in

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

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