软件课程设计设计(论文)用纸
参考文献
[1]耿祥义,张跃平 Java2实用教程(第三版)[M] . 北京:清华大学出版社, 2006 [2]耿祥义 Java课程设计(第三版)[M] . 北京:清华大学出版社, 2004
[3]张跃平 Java2实用教程实验指导与习题解答(第三版)[M]. 北京:清华大学出版社, 2004
[4]Jacquie Barker,Java面向对象编程指南,电子工业出版社,2001
[5]孙全党,王吴迪 赵枫朝,Java程序设计应用教程,电子工业出版社,2006.2 [6]赵玉阳,Java从入门到精通,清华大学出版社,2006.8 [7]肖磊,李钟尉,Java实用教程,人民邮电出版社,2008.5 [8]李尊朝 Java语言程序设计 北京:中国铁道出版社,2004.2 [9]王鹏,何昀峰 Java图形界面开发 北京:清华大学出版社 2008
[10]叶核亚 JAVA2程序设计实用教程[M](第2版).北京:电子工业出版社 2008.4
21
软件课程设计设计(论文)用纸
附录
主类 CalendarPad: 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 {
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));
rightPanel=new JPanel(); this.year=year; this.month=month; this.day=day;
负责改变年=new Year(this); 负责改变年.setYear(year); 负责改变月=new Month(this); 负责改变月.setMonth(month);
title=new JLabel[7]; showDay=new JTextField[42]; for(int j=0;j<7;j++) {
22
软件课程设计设计(论文)用纸
title[j]=new JLabel(); title[j].setText(星期[j]);
title[j].setBorder(BorderFactory.createRaisedBevelBorder()); leftCenter.add(title[j]); }
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]); }
日历=Calendar.getInstance();
Box box=Box.createHorizontalBox(); box.add(负责改变年); box.add(负责改变月); leftNorth.add(box);
leftPanel.setLayout(new BorderLayout());
leftPanel.add(leftNorth,BorderLayout.NORTH); leftPanel.add(leftCenter,BorderLayout.CENTER);
leftPanel.add(new Label(\请在年份输入框输入所查年份(负数表示公元前),并回车确定\
BorderLayout.SOUTH) ; leftPanel.validate();
Container con=getContentPane();
JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, leftPanel,rightPanel);
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(); }
catch(IOException e)
23
软件课程设计设计(论文)用纸
{ } }
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;
if(month==1||month==2||month==3||month==5||month==7 ||month==8||month==10||month==12) { 排列号码(星期几,31); }
else if(month==4||month==6||month==9||month==11) { 排列号码(星期几,30); }
else if(month==2)
{ if((year%4==0&&year0!=0)||(year@0==0)) { 排列号码(星期几,29); } else
{ 排列号码(星期几,28); } } }
public void 排列号码(int 星期几,int 月天数) {
for(int i=星期几,n=1;i<星期几+月天数;i++) { showDay[i].setText(\ if(n==day)
{ showDay[i].setForeground(Color.green); showDay[i].setFont(new Font(\
24