今天刚好用到了lwuit里面的Calendar控件,发现不仅只能显示英文,而且格式也很有限,并不能自己设置自己想要的时间格式。由于只是初步接触到javame,对其功能还不是很了解。不过最后改写了Calendar类,总算可以得到自己想要的格式了^_^,记下今天的收获。
首先,通过网上查找资料,修改Calendar源码,使其以中文方式显示:
把Calendar中的代码:
替换成:
这样直接调用Calendar 就可以以中文方式显示了。
其次,设置时间的显示格式:
1、由于只单独拿源码中的Calendar.java类来进行修改,所以要建一个名为:com.sun.lwuit 的包,并将Calendar.java类放到该包下面。在Calendar.java中添加代码:
其中mv是Calendar类中定义的private MonthView mv;
不过发现这样修改调用Calendar在myEclipse中调试不会出现问题,但到了eclipse时会出现ALERT: java/lang/NoSuchMethodError: No such method getSelectedDate.()Ljava/lang/String;. 的异常,应该是跟lwuit.jar包里面的Calendar发生冲突。
解决办法:将Calendar.java中的private MonthView mv;改成protected MonthView mv;然后自己写个类继承Calendar:
这样就可以yayuCalendar 的实例对象调用getSelectedDate()方法获取当前选中的时间了,且格式为:yyyy-mm-dd。
显示效果如下:
显示选中时间: