java万年历设计报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA大作业

目录

作业要求 (3)

项目概述 (3)

具体功能介绍 (4)

设计与实现 (4)

作业要求:

编写一个万年历程序,要求能够查询历史时间,能够添加、查看、删除备忘录。

项目概述

这个项目是一个简单的Java万年历,可以实现所有年份的公历日期的查询,并且在相应的日期做备忘录,以及可以显示当前的日期以及时间。

使用的是Oracle数据库进行连接。

具体功能介绍:

(1)万年历查询:点击图形界面中的上年、下年键用来调整要查询的年份,或者可以直接在上年下年按钮直接的文本框中输入年份(负数表示公元前),以回车结束;点击上月或者下月来调整要查询的月份,然后可以看到这个月的每一天所对应的星期。

(2)Clock功能:在万年历下面显示当前的年月日时分秒,相当于一个时钟的功能。

(3)记事本功能:可以任选某年某月的某一天,单击,在右侧会出现这一天的备忘录,如果存在,则显示某年某月某日有日志记载,是否想看,否则,则在文本框中显示无记录;然后可以编辑这一天的备忘录,编辑好了之后,点击保存日志,弹出对话框某年某月某日保存日志吗,点击保存,则日志被保存,反之未被保存;若想删除某日的日志,则单击这一天,然后点击右侧的删除日志,显示删除某年某月某日的日志吗,点击是,则日志被删除。从文件中读取备忘录的内容,用数据库进行存储和删除操作。

设计与实现(需要附全部代码,GUI自动生成代码除外):

1 类的设计(继承、多态、数据结构):核心类是Month,Year,NotePad,Clock,DBAccess,CalendarPad.(其中继承用粗体,接口用粗斜体,数据结构是哈希表,用粗下划线,多态用斜体+点点短线式下划线)

2 Java IO (文件访问):用的是粗体+浪线

3 JDBC (数据库访问):使用Oracle数据库连接,是直连(双下划线)

数据库是:create table mynotes(

mydate varchar2(50) primary key,

note varchar2(100) not null

);

4 Socket + Multi-Thread:斜体(定义在Clock中的Thread t)

5 GUI (用户界面):点下划线来表示GUI用户界面

6 其他功能:(无)

以下是全部代码(共六个.Java文件)

//对月份的选择

package javaapplication13;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Month extends Box implements ActionListener//ActionListener接口{

int month;

JTextField showMonth=null;

JButton RMonth,NMonth;

CalendarPad cal;

public Month(CalendarPad c)

{

super(BoxLayout.X_AXIS);

this.cal=c;

showMonth=new JTextField(2);

month=c.getMonth();

showMonth.setEditable(false);

showMonth.setForeground(Color.blue);

showMonth.setFont(new Font("TimesRomn",Font.BOLD,16));

NMonth=new JButton("下月");

RMonth=new JButton("上月");

add(RMonth);

add(showMonth);

add(NMonth);

RMonth.addActionListener(this);

NMonth.addActionListener(this);

showMonth.setText(""+month);

}

public void setMonth(int month)

{

if(month<=12&&month>=1)

{

this.month=month;

}

else

{

this.month=1;

}

showMonth.setText(""+month);

}

public int getMonth()

{

return month;

}

public void actionPerformed(ActionEvent e)

{

if(e.getSource()==RMonth)

{

if(month>=2)

{

month=month-1;

cal.setMonth(month);

cal.setCal(cal.getYear(),month);

}

else if(month==1)

{

month=12;

cal.setMonth(month);

cal.setCal(cal.getYear(),month);

}

showMonth.setText(""+month);

}

else if(e.getSource()==NMonth)

{

if(month<12)

{

month=month+1;

cal.setMonth(month);

cal.setCal(cal.getYear(),month);

}

else if(month==12)

{

month=1;

cal.setMonth(month);

cal.setCal(cal.getYear(),month);

}

showMonth.setText(""+month);

}

}

}

//对年分的选择

package javaapplication13;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class Year extends Box implements ActionListener//ActionListener接口

相关文档
最新文档