实用Java万年历制作方法详解
项目背景
万年历作为一种历史悠久的日历形式,能够记录和展示从公历开始至今的每一天,包括日期、星期、节假日等信息,在Java编程中,制作一个万年历不仅能够提升编程技能,还能满足日常生活的需求,本文将详细介绍如何使用Java制作一个功能完善的万年历。
技术选型
在制作万年历时,我们将使用Java语言进行开发,主要依赖以下技术:
功能需求
一个实用的万年历应具备以下功能:
制作步骤
创建主窗口
我们需要创建一个主窗口,用于展示万年历的界面,使用Swing的类实现:
JFrame frame = new JFrame("Java万年历");frame.setSize(800, 600);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
设计日历面板
日历面板是万年历的核心部分,负责显示每个月的日历,我们可以使用类来实现:
JPanel calendarPanel = new JPanel();frame.add(calendarPanel);
public void calculateCalendar(int year, int month) {Calendar calendar = Calendar.getInstance();calendar.set(year, month - 1, 1);int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);int daysInMonth = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);// 初始化日历数据String[] daysOfWeek = {"日", "一", "二", "三", "四", "五", "六"};String[][] calendarData = new String[6][7];// 填充日历数据for (int i = 0; i < dayOfWeek; i++) {calendarData[0][i] = "";}for (int i = 1; i <= daysInMonth; i++) {calendarData[dayOfWeek - 1][i - 1] = String.valueOf(i);}// 更新日历面板updateCalendarPanel(calendarData);}
实现切换年份和月份的功能
为了方便用户查看不同年份和月份的日历,我们需要添加切换按钮,以下是添加切换按钮的示例代码:
JButton prevMonthButton = new JButton("上个月");prevMonthButton.addActionListener(e -> {int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH) + 1;calculateCalendar(year, month - 1);});JButton nextMonthButton = new JButton("下个月");nextMonthButton.addActionListener(e -> {int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH) + 1;calculateCalendar(year, month + 1);});calendarPanel.add(prevMonthButton);calendarPanel.add(nextMonthButton);
标记节假日
我们可以使用一个HashMap来存储节假日信息,并在日历面板中标记出来,以下是标记节假日的示例代码:
通过以上步骤,我们可以制作出一个功能完善的Java万年历,这个项目不仅能够提升我们的编程技能,还能在日常生活中发挥实用价值,在开发过程中,我们可以根据需求不断完善和优化万年历的功能,使其更加实用和美观。
JAVA calendar类
这是一个关于日历的程序,主要是输出了两条信息,第一条是现在是哪年哪月哪日星期几,输出的第二个信息就是1945年8月15日和1931年9月18日相隔多少天。 想看明白这个程序并不难,他就是通过Calenar对象来获得一些时间信息,比如())这句就是获取现在是多少年,这些方法你记住就行了,具体是怎么获得到得都是sun公司自己实现的,你没必要去知道他是怎么实现的,如果你要是对源代码感兴趣也可以看看。
”对象不支持此属性或方法”什么问题?怎么解决?
IE中的脚本错误 某个网页可能会无法正常显示或工作,您可能会收到一条类似于以下之一的错误消息: 该网页上的问题可能使其无法正常显示或功能不正常。 以后,双击显示在状态栏中的警告图标,就可以显示上述消息。 如果您单击“显示详细信息”,则会显示类似于下面的错误详细信息: Line:4 Char:1 Error:Object doesn’t support this property or method. Code:0 URL:A Runtime Error has occured. Do you wish to Debug? Line:4 Error:Object doesn’t support this property or method. 下面的警告消息也可能出现在 Microsoft Internet Explorer“状态”栏中: 已完毕,但网页上有错误 出现此问题是因为该网页的 HTML 源代码不能使用客户端脚本(如 Microsoft JScript 或 visual basic 脚本)正确工作。 发生此问题可能是因为以下原因之一: • 网页的 HTML 源代码中有问题。 • 您的计算机或网络上阻止了活动脚本、ActiveX 控件或 Java 小程序。 Internet Explorer 或另外一种程序(如防病毒程序或防火墙)可以配置为阻止活动脚本、ActiveX 控件或 Java 小程序 • 防病毒软件配置为扫描您的“临时 Internet 文件”或“已下载的程序文件”文件夹。 • 您计算机上的脚本引擎损坏或过时。 • 您计算机上的 Internet 相关文件夹损坏。 • 您的视频卡驱动程序已损坏或者已过时。 • 您计算机上的 DirectX 组件损坏或过时。 注意:服务器端脚本 -- 如 Active Server pages (ASp) 中的 Visual basic 脚本 -- 运行在 Web 服务器上。 因服务器端脚本故障而发生的脚本错误不在 Internet Explorer 中生成错误消息,但也可能会创建一个不能正确显示或工作的网页。 本文中的故障排除信息适用于服务器端脚本错误。 如果您怀疑服务器端脚本有问题,请与 Web 服务器的管理员联系。 解决方案 使用本文中的故障排除方法时要按它们出现的顺序进行。 在您完成一个故障排除部分后,请进行测试以确定是否仍发生此脚本错误。 如果问题已解决,则不必继续下一部分。 如果问题未解决,则继续执行下一部分。 IE——工具——高级——禁用脚本调试前面打勾——确定 从另一个用户帐户、另一个浏览器和另一台计算机测试网页 如果问题只在您查看一个或两个网页时发生,则从另一个用户帐户、另一个浏览器或另一台计算机查看这些网页,以确定问题是否依然存在。 如果脚本错误依然存在,则可能是网页的编写有问题。 请与网站管理员或内容开发者联系,告诉他们网页存在的问题。 如果从另一个用户帐户使用网页时脚本错误未发生,则问题可能是您的用户配置文件的文件或设置造成的。 如果在从另一个浏览器或另一台计算机使用网页时脚本错误未发生,则继续进行故障排除操作。 确认活动脚本、ActiveX 和 Java 未被阻止 确认您计算机上的 Internet Explorer 或另外一种程序(如防病毒程序或防火墙)未配置为阻止活动脚本、ActiveX 控件或 Java 小程序。 在 Internet Explorer 的“高”安全级别,活动脚本、ActiveX 控件和 Java 小程序被关闭。 默认情况下,Internet Explorer 6 和某些 Internet Explorer 5.x 版本针对受限站点区域使用“高”安全级别。 默认情况下,Microsoft Windows Server 2003 针对受限站点区域和 Internet 区域使用“高”安全级别。 如要为当前网页重置 Internet Explorer 安全设置,请按照下列步骤操作:1. 启动 Internet Explorer。 2. 在“工具”菜单上,单击“Internet 选项”。 3. 在“Internet 选项”对话框中,单击“安全”。 4. 单击“默认级别”。 5. 单击“确定”。 请参见您使用的防病毒程序或防火墙的文档资料,以确定如何打开脚本、ActiveX 和 Java 小程序。 确认您的防病毒程序未设置为扫描“临时 Internet 文件”或“已下载的程序文件”文件夹 请参见您使用的防病毒程序的文档资料,以确定如何防止该程序扫描“临时 Internet 文件”或“已下载的程序文件”文件夹。 删除所有临时的 Internet 相关文件 从您的计算机中删除所有临时的 Internet 相关文件。 为此,请按照下列步骤操作:1. 启动 Internet Explorer。 2. 在“工具”菜单上,单击“Internet 选项”。 3. 单击“常规”选项卡。 4. 在“Internet 临时文件”下,单击“设置”。 5. 单击“删除文件”。 6. 单击“确定”。 7. 单击“删除 Cookies”。 8. 单击“确定”。 9. 在“历史记录”下,单击“清除历史记录”,然后单击“是”。 10. 单击“确定”。
java中的calendar类主要有那些方法
Calendar类的静态方法getInstance()可以初始化一个日历对象:Calendar now = ();可以使用下面三个方法把日历定到任何一个时间:set(int year ,int month,int date)set(int year ,int month,int date,int hour,int minute)set(int year ,int month,int date,int hour,int minute,int second)如果想获得年份、月份、小时等信息可以使用();这样的方法 0表示一月,1表示二月get(_OF_MONTH)获得这个月的第几天get(_OF_WEEK)获得这个星期的第几天get(_OF_YEAR)获得这个年的第几天getTimeMillis()获得当前时间的毫秒表示














发表评论