Java万年历实验报告
- 格式:doc
- 大小:332.00 KB
- 文档页数:55
Java课程实验报告
姓名:***
学号:**********
作业要求:
编写一个万年历程序,要求能够查询历史时间,能够添加、查看、删除备忘录。
项目概述:
这个项目是一个简单的Java万年历,可以实现所有年份的公历日期的查询,并且在相应的日期做备忘录,以及可以显示当前的日期以及时间。
程序截图:
具体功能介绍:
(1)万年历查询:点击图形界面中年份钱下拉框用来调整要查询的年份,点击月份前来调整要查询的月份,然后可以看到这个月的每一天所对应的星期。(2)Clock功能:在万年历下面显示当前的年月日时间,相当于一个时钟的功能。
(3)记事本功能。
设计与实现(需要附全部代码,GUI自动生成代码除外):
1 类的设计(继承、多态、数据结构):核心类是CalendarWindow. findPassWordDialog等。
2 Java IO ;文件访问
2 GUI (用户界面):点下划线来表示GUI用户界面
6 其他功能:(无)
程序代码:
package app;
import calendar.CalendarWindow;
public class Client {
public static void main(String[] args)
{
new CalendarWindow().setVisible(true);
}
}
第一个包
package account;
public class Account {
private String name;
private String passWord;
public Account(String name, String passWord) {
= name;
this.passWord = passWord;
}
public String getName()
{
return name;
}
public void setName(String name)
{
= name;
}
public String getPassWord()
{
return passWord;
}
public void setPassWord(String passWord)
{
this.passWord = passWord;
}
@Override
public String toString() {
return"账户"+name+",密码"+passWord;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Account other = (Account) obj;
if (name == null) {
if ( != null)
return false;
} else if (!name.equals())
return false;
if (passWord == null) {
if (other.passWord != null)
return false;
} else if (!passWord.equals(other.passWord))
return false;
return true;
}
}
第二个包(含三个类)
package calendar;
public class CalendarWindow extends javax.swing.JFrame implements Observer {
private Time time;
private int year;
private int month;
private int day;
private Week week;
private Datex current;
private ILoginService loginService;
private boolean isLogin;
private IEventService eventService;
/** Creates new form TimeWindow */
public CalendarWindow() {
initComponents();
setLocationRelativeTo(null);
loginService = new LoginService();
eventService=new EventService();
init();
}
private void init() {
table.setGridColor(Color.GREEN);
table.setRowHeight(table.getRowHeight() * 2 + 9);
time = new Time();
week = new Week();
current = time.getSystemDate();
year = current.getYear();
month = current.getMonth();
day=current.getDay();
TimeUnit unit = time.getSystemTime();
hourText.setText(unit.getHour() + "");
secondText.setText(unit.getMinute() + "");
initTable(current);
initComboBox();
initInfoTextArea(current);
}
// 初始化ComboBox
private void initComboBox() {
for (int i = 0; i <= 20; i++)
yearComboBox.addItem(current.getYear() - 10 + i);
yearComboBox.setSelectedIndex(10);
monthComboBox.setSelectedIndex(current.getMonth() - 1);