Java下没有一个日期时间选择控件一直是一个遗憾,经过一段时间努力,终于写出了一个简单适用的日期时间选择控件,就是界面可能不是太漂亮,但是够用了,大家使用中有何建议可以留言。版本可以支持JRE1.4及以上版本。该控件可以根据用户指定格式在文本区展示格式后字符串,同时也根据格式串调整日期时间显示面板中内容,这些都可以通过构造函数的pattern参数来指定:比如指定为:yyyy-MM-dd就只会有日期而没有时间选择;指定为yyyy-MM-dd HH:mm就只会显示日期及时间中的时和分选择。目前暂时只支持这些简单格式组合,不过程序中一般这些就够用了。
具体效果见附件图片,同时我也会上传源代码和打包好的jar文件。
说明:由于JFrame等顶级窗口被拖动时无法处理mouseDragged事件,所以使用了一个定时器来定时检查参考控件在屏幕中位置来确定整个窗体有没有被移动。JAVA API文档里说明大意是说顶级窗口鼠标拖动事件处理依赖于本地平台。大家如果有更好方法欢迎回帖。
更新:请大家使用最新的代码
今天看了下代码发现有点小问题,比较隐蔽,已经修正,需要使用该控件的朋友请重新下载或自己修正
public void setDatetime(Calendar datetime)
{
this.datetime=datetime;
[u][b]datetimeField.setText(dateFmt.format(datetime.getTime()));
if(null!=displayPanel)
displayPanel.reflesh();[/b][/u]
}
注意下划线粗体代码:设置时间时如果displayPanel还没有创建调用displayPanel的reflesh方法会抛出空指针
具体效果见附件图片,同时我也会上传源代码和打包好的jar文件。
说明:由于JFrame等顶级窗口被拖动时无法处理mouseDragged事件,所以使用了一个定时器来定时检查参考控件在屏幕中位置来确定整个窗体有没有被移动。JAVA API文档里说明大意是说顶级窗口鼠标拖动事件处理依赖于本地平台。大家如果有更好方法欢迎回帖。
更新:请大家使用最新的代码
今天看了下代码发现有点小问题,比较隐蔽,已经修正,需要使用该控件的朋友请重新下载或自己修正
public void setDatetime(Calendar datetime)
{
this.datetime=datetime;
[u][b]datetimeField.setText(dateFmt.format(datetime.getTime()));
if(null!=displayPanel)
displayPanel.reflesh();[/b][/u]
}
注意下划线粗体代码:设置时间时如果displayPanel还没有创建调用displayPanel的reflesh方法会抛出空指针