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负责编辑事件。这个不难搞,就是麻烦,不过新手嘛,勤快点好,我现在越来越懒,什么都搞不动了了。
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。
1. 定义备忘录(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。岩裤这样以后就可将该对象恢复到原先保存的状态。
2. 备忘录模式的类图
Originator(发起人):负责创建一个备忘录Memento,用以记录当前时刻它的内部状态,并可使用备忘录恢复内部状态。Originator可根据需要决定Memento存储Originator的哪些内部状态。
Memento(备忘录):负责存储Originator对象的内部状态,并可防止Originator以外的其他对象访问备忘录Memento。备忘录有两个接口,Caretaker只能看到备忘录的窄祥宽接口,它只能将备忘录传递给其他谨枣亮对象。Originator能够看到一个宽接口,允许它访问返回到先前状态所需的所有数据。
Caretaker(管理者):负责保存好备忘录Memento,不能对备忘录的内容进行 *** 作或检查。
3. 备忘录模式的基本代码
发起人类Originator:
public class Originator {
private String state//需要保存的属性
/**
* 创建备忘录,将需要保存的信息导入并实例化出Memento对象
*/
public Memento createMemento(){
return new Memento(state)
}
/**
* 恢复备忘录,将memento导入并恢复相关数据
*/
public void setMemento(Memento memento){
state = memento.getState()
}
/**
* 显示数据
*/
public void show(){
System.out.println("state="+state)
}
//get and set 略
}
备忘录Menmento:
public class Memento {
private String state
public Memento(String state) {
this.s
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)