VB、Delphi、VC++,这些都比Java合适,它们跟系统耦合度高,有丰富的类库可以用,GUI的组织结构相对简单很多,不像Java的awt和swing那么绕,而且他们都可以用控件绑定数据库, *** 作很方便,java里面要自己动手的
用Java做的话,建议采用access数据库,这个数据库是一个文件数据库,可以很方便地拿走,不需要像mysql、mssql、oracle那样安装很庞大的服务器,使用jdbc驱动来连接,你可以先去网上找一个access的jdbc驱动包,怎么连,怎么调用,网上都有详细介绍,如果找不到,就问我吧。记录每天的时间,这个要专门弄一张表,记下事件名,提醒的时间等等,然后java程序启动时,从这个事件表里读取当天的事件,有个执行定时任务的工具类(好像是java.util.Timer,很久没用了,你百度一下“java 定时 任务”就能找到了),负责到了时间给出提醒;也可以使用多线程来做,另外开辟一个线程,每秒扫一次,看看那个事件的时间到了,然后给出提醒,这样做CPU占用率会很高。提示,你可以搞成消息框d出,这样最简单,或者d出一个Frame,同时在后台播放一个声音。再搞个Frame负责编辑事件。这个不难搞,就是麻烦,不过新手嘛,勤快点好,我现在越来越懒,什么都搞不动了了。
首先建立一个备忘类class Memo{
String content
Date date//或者使用Calendar类型
}
1. 点“写新备忘”怎样进入 另一个界面?怎样来保存更新的备忘?
在程序内部维护一个ArrayList<Date>,用来存放所有的备忘。用另一个Frame作为写新备忘的界面,比如frame2,点击“写新备忘”的时候令frame2.setVisable(true)即可。写完之后将该备忘加入到ArrayList即可
2. 主界面中怎样显示最近的备忘,且显示的是将来的时间的备忘?
最近的备忘应该是指即将发生的那个备忘吧。遍历ArrayList,找到将来最先发生的备忘,在文本框里将其显示出来即可,当然这件事情应该自动完成,这就需要一个线程不停地扫描ArrayList,并进行更新。一个简单的做法是添加一个“刷新”按钮,每次点击“刷新”的时候,才去检查ArrayList
3. 点查看备忘 怎样进入查看界面?
d出另一个窗口,显示ArrayList里的所有内容
4. 能不能使备忘录自己提醒呢?怎么提醒呢?
发出一声“嘟嘟”声来提醒,java.awt.Toolkit.getDefaultToolkit().beep()。
看来还是需要一个自动刷新功能,就如同上面所说的,在一个单独的线程里不停地检查有哪些事情要发生,并显示到主界面。
1.确定数格式,编写记录类Record{
//记录编号
private int id
//提醒时间
private Time t
//提醒信息
private String info
}
2.确定数据访问方式,可以通过文件也可以通过数据库。
写一个数据访问类,例如用文件的形式
DataAccesser{
private static syncronized File file
//构造函数,进行file初始化
public static DataAccesser(){
}
//写入记录
public static void write(Record){
}
//根据时间读取记录
public static Record read(int id){
}
//根据时间读取记录集
public static List<Record>readSet(Time t){
}
}
3.定义存取信息队列的类
class MessageQueue{
//保存当前时刻以后的所有信息的时间队列,安顺序
private syncronized static List<Time>
//插入队列
public static void put(){
//需要按时间顺序插入
}
//获得当前时间前的时间集
public static List<Time>get(){
//获得后需要将得到的时间从列表中删除
}
}
4.编写提醒类,用于提醒
class Reminder{
public void run(){
List<Time>tl=getCurrentTime()
//查询出所有
需要提醒的记录调用remind()方法进行提醒
}
//提醒
protected void remind(Record r){
//这里写如何提醒
}
//获得当前时间
protected Time getCurrentTime(){
}
}
5.定时器类,
//提醒的主运行类
class Main{
static Thread thread
public Main(){
thread=new Thread(){
public void run(){
while(true){
new Reminder().run()
try{
Thread.sleep(60000)
}catch(Exception e ){}
}
}
}
public static void start(){
thread.start()
}
public sattic void stop(){
thread.stop()
}
}
}
只是个框架,具体代码自己完成吧,可以查询相关的API。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)