<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 12">
<meta name="Originator" content="Microsoft Word 12">
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cphoenix%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml">
<link rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5Cphoenix%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso">
<!--[if !mso]>
<style>
v":* {behavior:url(#default#VML);}
o":* {behavior:url(#default#VML);}
w":* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><link rel="themeData" href="file:///C:%5CDOCUME%7E1%5Cphoenix%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx">
<link rel="colorSchemeMapping" href="file:///C:%5CDOCUME%7E1%5Cphoenix%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml">
<!--[if gte mso 9]><xml>
Normal
0
false
7.8 磅
0
2
false
false
false
EN-US
ZH-CN
X-NONE
</xml><![endif]--><!--[if gte mso 9]><![endif]--><style>
<!--
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:0 0 0 0 0 0 0 0 0 0;
mso-font-alt:"Times New Roman";}
@font-face
{font-family:""@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{
mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Calibri","serif";
mso-bidi-font-family:"Times New Roman";}
.MsoChpDefault
{
mso-bidi-font-family:"Times New Roman";}
/* Page Definitions */
@page
{}
@page Section1
{size:595.3pt 841.9pt;
margin:72.0pt 90.0pt 72.0pt 90.0pt;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{
mso-style-parent:"";
font-size:10.5pt;
font-family:"Calibri","serif";}
</style>
<![endif]-->
Java的日历是一个很常用的控件,实现界面布局从简单到复杂就有很多种,在加上公历和阴历的实现就更多了.这儿从最简单的做起,先做一个只能选择当前月的某一天的公历的简单日历,然后再做一个可以调整年月的日历,最后做一个加入阴历和节日的日历.
Java的日历实现也不复杂,不明白Sun为什么不加到JDK里面,主要是依靠java.util.Calendar类,依靠Calendar可以取得某一天是星期几,是一个月的第几天,也可以得出某个月第一天是星期几,某个月有多少天,这样就可以把日历的基本画出来了;再加上颜色设置和选择后的设置就可以实现基本的日历了.
先看最简单的效果,只实现一个月的选择:
<!--[if gte vml 1]>
<![endif]-->
再看一个可以选择年月日的,从一个JTextField里面点出下拉,这个是用JTable实现的,星期是JTable的Header,显示是JTable的单元格,只需要设置JTable的值和Renderer就可以显示组件了,值的计算是通过Calender实现的.
<!--[if gte vml 1]>
<![endif]-->
<!--[if gte vml 1]>
<![endif]-->
工程目录如下:
<!--[if gte vml 1]>
<![endif]-->
然后是一个用控件的形式来显示的,在JPanel上使用GridLayout,放置显示的组件,然后根据Canlendar设置值和显示:
<!--[if gte vml 1]>
<![endif]-->
<!--[if gte vml 1]>
<![endif]-->
工程目录如下:
<!--[if gte vml 1]>
<![endif]-->
最后是在上一个的基础上添加阴历,阴历实现是参考BlogJava的一个高手的:
<!--[if gte vml 1]>
<![endif]-->
<!--[if gte vml 1]>
<![endif]-->
<!--[if gte vml 1]>
<![endif]-->
工程目录如下:
<!--[if gte vml 1]>
<![endif]-->
本来是要详细写下日历的,然后在写其它的比如JtreeTable和2D绘制等东西呢,可惜公司现在基本不怎么使用Swing了,而且突然忙起来了,而我比较悲剧的是这个工作的上班地点在北五环,而我住在南三环,每天基本跨北京,一忙根本没时间写东西了,抽个星期天把以前的程序放在Google Code上了,也没时间整理了(好不容易周末,也得Dota几把呀),需要的自己去Down吧,大部分例子的XXXTest都是测试的方法.
Google
Code 地址: https://code.google.com/p/swingsource/
分享到:
相关推荐
java日历,输入月份或直接显示当前月 标示当前日期
Java日历小程序是一款基于Swing库开发的桌面应用程序,它为用户提供了一个直观的方式来查看和管理日期。Swing是Java Standard Edition (Java SE)的一部分,是一个用于构建用户界面的图形工具包,提供了丰富的组件和...
Java日历类是Java编程语言中处理日期和时间的核心组件,它提供了丰富的API来操作日期,包括获取、设置、比较和格式化等。在Java中,`java.util.Calendar`是抽象基类,而`java.util.GregorianCalendar`是其最常见的...
Java日历及备忘录程序是一个实用的桌面应用程序,它模仿了Windows操作系统中的日历功能,并添加了备忘录管理特性。这个程序的核心是利用Java编程语言实现的,旨在帮助用户方便地查看日期并设置提醒,提高个人或工作...
本项目“java日历系统(阴阳日历)”实现了这样的功能,它不仅提供了阳历日期,还包含了中国传统的阴历日期,并且具备24节气的提醒功能。下面我们将深入探讨这个系统的相关知识点。 首先,`ChineseCalendar.java`...
这个"Java日历小工具"很可能是开发者为了方便用户查询任意日期而创建的一个实用程序。下面我们将详细探讨Java日历API以及如何利用它来构建这样的小工具。 首先,`java.util.Calendar`是Java标准库中的一个抽象类,...
这个"JAVA日历(带日程安排)"项目提供了一个方便的框架,允许开发者快速地创建具有日程管理功能的应用。下面我们将详细探讨这个项目涉及的关键知识点。 1. **Java Calendar类**: - Java的`java.util.Calendar`类...
Java日历控件是Swing库中的一个组件,它允许开发者在GUI应用程序中添加日期选择功能。Swing是Java的标准GUI库,提供了丰富的组件集合,包括按钮、文本框、滚动面板以及我们关注的日历控件。这个源码可能是实现了一个...
Java日历小程序是一种基于AWT(Abstract Window Toolkit)和SWING库开发的用户界面应用程序,主要用于展示日期并可能提供一些与日历相关的功能,如查看、添加和管理事件。这两个库是Java GUI(图形用户界面)编程的...
【标题】"java日历记事本程序"是一款基于Java编程语言开发的应用程序,它集成了日历、记事本、课程表以及计时提醒等多种功能。这个项目使用了NetBeans IDE进行开发,使得代码组织和工程管理更为便捷。NetBeans是Java...
Java日历程序是一种基于Java编程语言开发的应用,它提供了用户友好的界面,使得用户能够查看日期、安排日程以及查看黄历。这个程序的核心功能包括日程提醒、黄历显示、月份翻页以及年月组合的日历视图。在描述中提到...
这个“java日历 时钟”项目很可能是利用`Calendar`类来实现一个功能性的日历应用程序,用户可以查看日期、设置提醒等。下面将详细介绍`Calendar`类以及如何使用它来构建日历和时钟功能。 首先,`Calendar` 类是抽象...
Java日历记事本源代码是一个实用的编程项目,它结合了Java编程语言与日历功能,用于创建一个简单的记事本应用。这个项目对于学习Java GUI编程、事件处理、日期时间操作等Java核心技术有着很好的实践意义。接下来,...
以下是一些关于“JAVA日历时间控件”的详细知识点: 1. **Java API中的日期和时间类**: - `java.util.Date`:这是一个基本的日期和时间类,可以表示从1970年1月1日00:00:00 GMT到现在的毫秒数。 - `java.util....
### Java日历核心代码知识点解析 #### 一、程序概览 这段Java代码实现了一个简易的日历系统,能够根据用户输入的年份和月份显示该月份的日历。它通过计算从1990年1月1日至指定日期的总天数来确定星期几,并据此打印...
根据提供的文件信息,我们可以归纳出以下关于 Java 日历应用的相关知识点: ### 1. Java Swing 组件使用 在 Java 中创建 GUI(图形用户界面)应用时,Swing 是一个常用的库。这段代码主要展示了如何使用 Swing 库...
java日历记事本源代码(多种实现)java日历记事本源代码(多种实现)java日历记事本源代码(多种实现)java日历记事本源代码(多种实现)java日历记事本源代码(多种实现)java日历记事本源代码(多种实现)java日历...
本项目“自己制作的JAVA日历源码”是一个模仿Windows 7小日历工具的实现,旨在提供一个简洁易用的日历界面,用户可以查看日期、切换月份和年份,甚至可能包含一些基本的日程管理功能。 首先,这个项目的核心是Java ...
Java日历记事本是一个基于Java编程语言开发的应用程序,旨在提供一个实用的个人日程管理工具。在这款记事本中,用户可以方便地记录、查看和管理他们的日常活动和待办事项,通过日期和时间进行组织。下面将详细探讨...