java日历记事本(无敌版带提醒功能调整时区更换图片铃声功能) 联系客服

发布时间 : 星期五 文章java日历记事本(无敌版带提醒功能调整时区更换图片铃声功能)更新完毕开始阅读

遇到的问题2:

记事本功能如何实现,如果做到保存用户输入的记事,并且还能有保存日志功能和删除日志功能?

解决:

//读取记录日志的文件;

FileInputStream inOne=new FileInputStream(file); ObjectInputStream inTwo=new ObjectInputStream(inOne); table=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close();

//把读到的内容写到指定存储日志的文件中;

FileInputStream inOne=new FileInputStream(file); ObjectInputStream inTwo=new ObjectInputStream(inOne); table=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close();

table.put(key,logContent);//注意key和logContent是对应的映射; FileOutputStream out=new FileOutputStream(file);

ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(table); //把内容写进文件中; objectOut.close(); out.close();

//删除当前时间对应的日志;

FileInputStream inOne=new FileInputStream(file); ObjectInputStream inTwo=new ObjectInputStream(inOne); table=(Hashtable)inTwo.readObject(); inOne.close(); inTwo.close();

table.remove(key);//移除; FileOutputStream out=new FileOutputStream(file);

ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(table); objectOut.close(); out.close();

text.setText(null);//清空显示的文档;

遇到的问题3:

如何实现更改图片背景的功能?我设置了让用户选择图片,但是发现不起作用

解决:

经过调试我发现,原来我只是设置了一个模态对话框,让用户可以选择文件,但是选择的文件并没有真正利用起来,于是我对文件进行了操作,让获取的文件在指定区域显示便可以了。

遇到的问题4:

钟表表盘和电子数码显示不一致,发现时钟总是比表盘慢了一秒,如图,秒针没有对齐12点刻度

解决:

后来发现自己的问题在于,我的时钟获取的时间是使用变量hour,minute,second来设置的,而电子时钟的显示是使用即时获取时间

calendar.get(Calendar.HOUR_OF_DAY),

calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND) ;

因此我做了相应的修改取消了使用hour,minute,second等变量保存的方式,而是都改为即时获取。

遇到的问题5:

如何做到修改时区,并且我还想实现尽可能多的时区

解决:

我百度了一下方法告诉我是TimeZone.getTimeZone(CalendarPad.timeArea),开始使用方法不对没有正确显示,后来发现该语句要这样使用:

Calendar calendar = new

GregorianCalendar(TimeZone.getTimeZone(CalendarPad.timeArea)); CalendarPad.timeArea是我设置的一个成员变量,可以让用户方便的修改不同时区,但是问题又来了,如何知道不同时区的准确名称呢?因为不同时区的名称很复杂,比如Europe/Paris是罗马时间也可以表示法国时间,这些怎么知道呢,通过百度我发现了在JDK/jre/lib文件夹下有一个tzmappings文件,储存了各个时区,然后我给每个时区设置一个编号,让用户输入编号而不是输入全称,就可以让用户方便快捷的设置时区。

五、 模拟运行