Java做一个备忘录

Java做一个备忘录,第1张

你是自己用,还是也给你的朋友们用,Java做桌面程序不拿手,还要安装一个jre才能运行,那个东西大约16MB,给别人做桌面程序,不建议使用Java。

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12482687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存