新闻正文

Java日期选择控件DateChooser开发使用

来源:JAVA天堂  J2SE  2007-4-5 12:46:49 网友评论 0 条 字体:[ ] ~我要投稿!



Java 日期选择控件 DateChooser

本来要做个小玩具,放弃了,改成这个控件。 呵,呵呵!

应该还算可以用的吧,每天上课没做太多测试....Sorry

代码/测试下载:点我




特点:
比较漂亮,默认的配色跟我桌上的日历本一样。
你也可以自己修改配色。

使用方便,两三行代码就ok了

控制条里的按钮按住半秒后会快速翻动

类似的控件好像 VB VC 里有, Java 的见过一个,
不好看,使用也不方便。





+++++++++++++++++++++++++++++++++++++++++++++++++
[Test.java]     测试类


==== package datechooser  ====

[DateChooser.java]    Java 日期选择控件(主体类)   [public]

[TablePanel.java]     日历表格面板

[ConfigLine.java]     控制条类

[RoundBox.java]       限定选择控件

[MonthMaker.java]    月份表算法类

[Pallet.java]        调色板,统一配色类           [public]

+++++++++++++++++++++++++++++++++++++++++++++++++



=========================== 测试类代码 ======================================
  1. /**
  2.  *  [Test.java]
  3.  *
  4.  *  测试类
  5.  *
  6.  * 创建日期:(2003-10-26)
  7.  * @author:ONE_Fox
  8.  * @author:ONE_Fox@163.com
  9.  */
  10.  
  11.  
  12. import datechooser.DateChooser;
  13. import datechooser.Pallet;
  14.  
  15. import java.awt.*;
  16. import java.awt.event.*;
  17. import javax.swing.*;
  18.  
  19. import java.util.Date;
  20. import java.text.SimpleDateFormat;
  21.  
  22.  
  23.  
  24. public class Test extends JFrame {
  25.     
  26.     
  27.     //界面组件----------------//
  28.     private JTextField showField = new JTextField(15);
  29.     private JButton testButton = new JButton("Tset Button");
  30.     
  31.     
  32.     //有父窗口(Farm),不带日期参数的 DateChooser
  33.     private DateChooser dateChooser = new DateChooser(this);
  34. /**
  35.  * **其他构造方法**
  36.  **
  37.     //无父窗口,不带日期参数的 DateChooser
  38.     new DateChooser();
  39.     
  40.     //有父窗口,带日期参数的 DateChooser
  41.     new DateChooser(Frame owner, Calendar showMonth, int startYear, 
  42.                                                      int lastYear);
  43.     
  44.     //无父窗口,带日期参数的 DateChooser
  45.     new DateChooser(Calendar showMonth, int startYear, int lastYear);
  46. */
  47.     
  48.     
  49. /**
  50.  *  **界面配色**
  51.  **
  52.  
  53.     static {
  54.         
  55.         Pallet.backGroundColor = Color.gray;    //底色
  56.     
  57.     
  58.         //月历表格配色----------------//
  59.         Pallet.palletTableColor = Color.white;  //日历表底色
  60.         Pallet.todayBackColor = Color.pink;     //今天背景色
  61.     
  62.         Pallet.weekFontColor = Color.white;     //星期文字色
  63.         Pallet.dateFontColor = Color.black;     //日期文字色
  64.         Pallet.weekendFontColor = Color.red;    //周末文字色
  65.     
  66.     
  67.         //控制条配色------------------//
  68.         Pallet.configLineColor = Color.pink;    //控制条底色
  69.         Pallet.cfgTextColor = Color.white;      //控制条标签文字色
  70.     
  71.         Pallet.rbFontColor = Color.white;       //RoundBox文字色
  72.         Pallet.rbBorderColor = Color.red;       //RoundBox边框色
  73.         Pallet.rbButtonColor = Color.pink;      //RoundBox按钮色
  74.         Pallet.rbBtFontColor = Color.red;       //RoundBox按钮文字色
  75.     }
  76. */
  77.     
  78.     
  79.  
  80.  
  81.  
  82. //------构造方法-------------------------------------------------//
  83.     public Test() {
  84.         
  85.         makeFace();  //界面制作
  86.         addListener();  //添加事件监听
  87.         
  88.         show();  //界面显示
  89.     }
  90.     
  91.     
  92.  
  93.  
  94. //------方法/函数------------------------------------------------//
  95.  
  96.  
  97.     public void makeFace() {
  98.         
  99.         setTitle("Test DateChooser");
  100.         
  101.         setLocation(100, 100);
  102.         setSize(300, 200);
  103.         
  104.         getContentPane().setLayout(new FlowLayout());
  105.         
  106.         getContentPane().add(showField);
  107.         getContentPane().add(testButton);
  108.     }
  109.     
  110.     
  111.     public void addListener() {
  112.         
  113.         testButton.addMouseListener(new MouseAdapter() {
  114.             public void mousePressed(MouseEvent e) {
  115.                 
  116.                 //设置显示显示位置相对与一个界面组件
  117.                 dateChooser.showChooser(testButton, 
  118.                                        e.getX() - DateChooser.width, e.getY());
  119.                 
  120.                 /**
  121.                  * 设置固定的显示位置
  122.                  **
  123.                  
  124.                    dateChooser.showChooser(null, 300, 300);
  125.                  
  126.                 */
  127.                 
  128.                 
  129.                 //取得选择的日期
  130.                 Date theDay = dateChooser.getDate();
  131.                 
  132.                 /**
  133.                  * showChooser()方法也返回 Date 日期
  134.                  **
  135.                    
  136.                    Date theDay = dateChooser.showChooser(null, 300, 300);
  137.                    
  138.                  */
  139.                 
  140.                 
  141.                 
  142.                 //输出至文本框显示
  143.                 if(theDay != null)
  144.                     showField.setText(new SimpleDateFormat("[ yyyy年M月d日]")
  145.                                                               .format(theDay));
  146.             }
  147.         });
  148.         
  149.         
  150.         
  151.         this.addWindowListener(new WindowAdapter(){  //添加窗口关闭事件
  152.             public void windowClosing(WindowEvent e){
  153.                 
  154.                 setVisible(false);
  155.                 dispose();
  156.                 
  157.                 System.exit(0);
  158.             }
  159.         });
  160.     }
  161.     
  162.     
  163.     
  164. //------程序入口-------------------------------------------------//
  165.  
  166.  
  167.     public static void main(String[] args) {
  168.         
  169.         //启动测试------------//
  170.         new Test();
  171.     }
  172. }


收藏到ViVi   收藏此页到365Key
上一篇:EJB开发环境配置及快速开发入门
下一篇:浅谈Java数据库连接方式及存取技术
用户名:新注册) 密码: 匿名评论 [所有评论]
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
本栏搜索
  • Google
   网站首页 -  网站地图 -  技术学习 -  网站投稿 -  帮助中心
Copyright 2003-2008 www.javah.net All Rights Reserved
2008 如果你喜欢本站 请收藏本站 并推荐给你的朋友一起分享