扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
你是自己用,还是也给你的朋友们用,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占用率会很高。提示,你可以搞成消息框弹出,这样最简单,或者弹出一个Frame,同时在后台播放一个声音。再搞个Frame负责编辑事件。这个不难搞,就是麻烦,不过新手嘛,勤快点好,我现在越来越懒,什么都搞不动了了。
首先建立一个备忘类
class Memo{
String content;
Date date;//或者使用Calendar类型
}
1. 点“写新备忘”怎样进入 另一个界面?怎样来保存更新的备忘?
在程序内部维护一个ArrayListDate,用来存放所有的备忘。用另一个Frame作为写新备忘的界面,比如frame2,点击“写新备忘”的时候令frame2.setVisable(true)即可。写完之后将该备忘加入到ArrayList即可
2. 主界面中怎样显示最近的备忘,且显示的是将来的时间的备忘?
最近的备忘应该是指即将发生的那个备忘吧。遍历ArrayList,找到将来最先发生的备忘,在文本框里将其显示出来即可,当然这件事情应该自动完成,这就需要一个线程不停地扫描ArrayList,并进行更新。一个简单的做法是添加一个“刷新”按钮,每次点击“刷新”的时候,才去检查ArrayList
3. 点查看备忘 怎样进入查看界面?
弹出另一个窗口,显示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 ListRecord readSet(Time t){
}
}
3.定义存取信息队列的类
class MessageQueue{
//保存当前时刻以后的所有信息的时间队列,安顺序
private syncronized static ListTime;
//插入队列
public static void put(){
//需要按时间顺序插入
}
//获得当前时间前的时间集
public static ListTime get(){
//获得后需要将得到的时间从列表中删除
}
}
4.编写提醒类,用于提醒
class Reminder{
public void run(){
ListTime 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。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流