楼主 admin 发表于2010年9月13日 上午9:58:24
JCalendar - java日历控件

奇新Java控件产品介绍

JComponentPack 是一个基于Java Swing的GUI类库,一系列可视化的JavaBeans的集合,它基于Swing的MVC架构,是100%的纯Java类库。它包括20多个 Swing所没有的控件,如Excel风格的Java电子表格控件,读取jtable数据库表的Java数据库控件,Java打印预览控件,Java向导 控件,Java日历控件JCalendar,类似资源管理器的Java Listview控件,Java滑动列表控件,Java目录选择控件,Java字体选择控件,Java3态选择树形控件,Java复合选择控件,Java 图片控件,Java图形控件,Java图表控件等一系列Java相关控件。

这些JavaBeans可以直接拖动到您的图形用户界面,它可提高您的工作效率,加快您的项目开发过程,给您的团队节省时间,减少开支。

JComponentPack主要包括以下核心Java控件

奇新Java电子表格控件

奇新Java数据绑定控件

奇新Java Swing界面控件集

奇新Java图表控件

奇新Java图形控件

 

JCalendar - Java日期选择控件

JCalendar提供了一个日期选择控件. 三种不同的头样式: class arrow, modern arrow, none. 两种不同的主样式: month view, year view. 两种不同的底样式: today, none. 支持日期标注, 您能改变特定日期的前景色,背景色,字体等样式. 支持改变特定日期的字体.

 

头样式

JCalendar提供了三种不同的头样式: class arrow, modern arrow, none.

代码例子:

// create JCalendar component

JCalendar calendar = new JCalendar();

// classic arrow

calendar.putClientProperty("JCalendar.headerStyle", "Classic_Arrow");

// modern arrow

calendar.putClientProperty("JCalendar.headerStyle", "Modern_Arrow");

// none

calendar.putClientProperty("JCalendar.headerStyle", "None");

主样式

JCalendar提供了两种不同的主样式: month view, year view.

代码例子:

// create JCalendar component

JCalendar calendar = new JCalendar();

// month view

calendar.putClientProperty("JCalendar.centerStyle", "MonthView");

// year view

calendar.putClientProperty("JCalendar.centerStyle", "YearView");

底样式

JCalendar提供了两种不同的底样式: today, none.

代码例子:

// create JCalendar component

JCalendar calendar = new JCalendar();

// show today button

calendar.putClientProperty("JCalendar.footerStyle", "Today");

// hide the today button

calendar.putClientProperty("JCalendar.footerStyle", "None");

日期标注

JCalendar支持日期标注, 您能改变特定日期的前景色,背景色,字体等样式. 下列代码改变日期 1, 3, 5, 7, 23 的前景色和背景色, 设置前景色为红色,背景色为黄色.

代码例子:

// a sample AttributesProvider

    private static class DefaultAttributesProvider implements AttributesProvider {

    private SimpleAttributeSet a;

    public DefaultAttributesProvider() {

        a = new SimpleAttributeSet();

        StyleConstants.setForeground(a, Color.red);

        StyleConstants.setBackground(a, Color.yellow);

    }

    public AttributeSet getAttributes(Object value) {

        if(value != null) {

       int day = ((Integer)value).intValue();

       switch(day) {

       case 1:

       case 3:

       case 5:

       case 7:

       case 23:

           return a;

       }

        }

        return null;

    }

    }

// attach it to JCalendar component

JCalendar calendar = new JCalendar();

calendar.setCellProvider(new DefaultAttributesProvider());    

改变指定日期的字体

JCalendar支持改变特定日期的字体. 下列代码改变日期1, 3, 5, 7, 23的字体, 设置字体名为"Dialog", 字体大小为20, 字体为粗体.

代码例子:

// a sample AttributesProvider

    private static class DefaultAttributesProvider implements AttributesProvider {

    private SimpleAttributeSet a;

    public DefaultAttributesProvider() {

        a = new SimpleAttributeSet();

        StyleConstants.setFontFamily(a, "Dialog");

        StyleConstants.setFontSize(a, 20);

        StyleConstants.setBold(a, true);

    }

    public AttributeSet getAttributes(Object value) {

        if(value != null) {

       int day = ((Integer)value).intValue();

       switch(day) {

       case 1:

       case 3:

       case 5:

       case 7:

       case 23:

           return a;

       }

        }

        return null;

    }

    }

// attach it to JCalendar component

JCalendar calendar = new JCalendar();

calendar.setCellProvider(new DefaultAttributesProvider());