日历记事本范例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
日历=Calendar.getInstance(); Box box=Box.createHorizontalBox(); box.add(负责改变年);
box.add(负责改变月);
leftNorth.add(box);
leftPanel.setLayout(new BorderLayout());
day=Integer.parseInt(source.getText()); notepad.setDay(day); notepad.设置信息条(year,month,day); notepad.设置文本区(null); notepad.获取日志内容(year,month,day); }
catch(Exception ee) { } } public void mouseClicked(MouseEvent e) { } public void mouseReleased(MouseEvent e) { }
} for(int i=0;i<星期几;i++) { showDay[i].setText(""); } for(int i=星期几+月天数;i<42;i++) { showDay[i].setText(""); } } public int getYear() { return year; } public void setYear(int y) { year=y; notepad.setYear(year); } public int getMonth() { return month; } public void setMonth(int m) { month=m; notepad.setMonth(month); } public int getDay() { return day; } public void setDay(int d) { day=d; notepad.setDay(day); } public Hashtable getHashtable() { return hashtable; } public File getFile() { return file; } public void mousePressed(MouseEvent e) { JTextField source=(JTextField)e.getSource(); try{
Year
2方法
名称
CalendarPad 设置日历牌 排列号码 mousePressed main
功能
创建窗口主程序 设置日历的年份、月份 排列月份中的号码 处理MouseEvent事件 程序开始运行
记事本NotePad
1成员变量
描述 文本输入区 保存、删除日志的按钮 保存日志的散列表
变量类型 JTextArea Button Hashtable
名称 month showMonth 下月、上月
2方法
名称 Month setMonth getMonth actionPerformed
功能 创建“月”对象 设置月份 获取月份 处理ActionEvent事件
备注 构造方法
接口方法
二. 关键代码
CalendarPad.java
import java.util.Calendar; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.Hashtable; public class CalendarPad extends JFrame implements MouseListener {
rightPanel=new JPanel(); this.year=year; this.month=month; this.day=day; 负责改变年=new Year(this); 负责改变年.setYear(year); 负责改变月=new Month(this); 负责改变月.setMonth(month);
} catch(IOException e) { } }
notepad=new NotePad(this); rightPanel.add(notepad);
设置日历牌(year,month); addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {
System.exit(0); } }); setVisible(true); setBounds(100,50,524,285); validate(); }
public void 设置日历牌(int year,int month) {
日历.set(year,month-1,1);
星期几=日历.get(Calendar.DAY_OF_WEEK)-1;
year (negative) BC, and press enter"),BorderLayout.SOUTH);
leftPanel.validate();
Container con=getContentPane();
JSplitPane
Biblioteka Baidu
split=new
JSplitPane(JSplitPane.HORIZONTAL_SPLIT,leftPanel,rightPanel);
leftPanel.add(leftNorth,BorderLayout.NORTH);
leftPanel.add(leftCenter,BorderLayout.CENTER);
leftPanel.add(new Label("Please input in the year of the input box check
实验报告
1217119 吴明俊 计算机应用一班
一.系统的详细设计
主类 CalendarPad
1成员变量
成员变量描述
年、月、日 保存日志的散列表 存放散列表的文件 显示日期 日历对象 记事本对象 月

变量类型
int Hashtable File JTextFile[] Calendar NotePad Month
名称
Year,month,day hashtable file showDay 日历 notePad 负责改变月
负责改变年
备注
构造方法
接口方法
名称 text 保存日志、删除日志 table
保存散列表的文件
File
记录日志的年、月、日 int
file Year,month,day
2方法
名称 NotePad setYear getYear setMonth getMonth setDay getDay 获取日志内容 保存日志 删除日志 actionPerformed
} title[0].setForeground(Color.red); title[6].setForeground(Color.blue);
for(int i=0;i<42;i++) { showDay[i]=new JTextField(); showDay[i].addMouseListener(this); showDay[i].setEditable(false); leftCenter.add(showDay[i]); }
int year,month,day; Hashtable hashtable; File file; JTextField showDay[]; JLabel title[]; Calendar 日历; int 星期几; NotePad notepad=null;
Month 负责改变月; Year 负责改变年; String 星期[]={"星期日","星期一","星期二","星期三","星期四","星期五","星期 六"}; JPanel leftPanel,rightPanel; public CalendarPad(int year,int month,int day) { leftPanel=new JPanel(); JPanel leftCenter=new JPanel(); JPanel leftNorth=new JPanel(); leftCenter.setLayout(new GridLayout(7,7));
月Month
变量类型 int JTextField JButton
功能 创建年对象 设置年份 获取年份 处理ActionEvent事件
名称 Year showYear 明年、去年
备注 构造方法
接口方法
1成员变量
描述 表示月份的整数 显示月份的文本条 负责增减月份的按钮
变量类型 int JTextField JButton
if(month==1||month==2||month==3||month==5||month==7||month==8||m onth==10||month==12)
{ 排列号码(星期几,31); } else if(month==4||month==6||month==9||month==11) {排列号码(星期几,30); } else if(month==2) { if((year%4==0 && year%100!=0)||(year%400==0)) { 排列号码(星期几,29); } else { 排列号码(星期几,28); }
title=new JLabel[7]; showDay=new JTextField[42]; for(int j=0;j<7;j++)
{ title[j]=new JLabel(); title[j].setText(星期[j]); title[j].setBorder(BorderFactory.createRaisedBevelBorder()); leftCenter.add(title[j]);
功能 创建记事本对象 设置年份 获取年份 设置月份 获取月份 设置日期 获取日期 获取日志内容 保存日志 删除日志 处理ActionEvent事件
备注 构造方法
接口方法
年Year
1.成员变量
描述 表示年份的整数 显示年份的文本条 负责增减年份的按钮
2方法
名称 Year setYear getYear actionPerformed
con.add(split,BorderLayout.CENTER);
con.validate();
hashtable=new Hashtable(); file=new File("日历记事本.txt"); if(!file.exists()) {
try{ FileOutputStream out=new FileOutputStream(file); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(hashtable); objectOut.close(); out.close();
} } public void 排列号码(int 星期几,int 月天数) {
for(int i=星期几,n=1;i<星期几+月天数;i++) { showDay[i].setText(""+n);
if(n==day) { showDay[i].setForeground(Color.green); showDay[i].setFont(new Font("TimesRoman",Font.BOLD,20)); } else { showDay[i].setFont(new Font("TimesRoman",Font.BOLD,12)); showDay[i].setForeground(Color.black); } if(i%7==6) { showDay[i].setForeground(Color.blue); } if(i%7==0) { showDay[i].setForeground(Color.red); } n++;
public void mouseEntered(MouseEvent e) { }
相关文档
最新文档