Java日历记事本课程设计报告文档格式.docx
- 文档编号:17439108
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:31
- 大小:96.89KB
Java日历记事本课程设计报告文档格式.docx
《Java日历记事本课程设计报告文档格式.docx》由会员分享,可在线阅读,更多相关《Java日历记事本课程设计报告文档格式.docx(31页珍藏版)》请在冰豆网上搜索。
dir.mkdir();
showDay=newJTextField[42];
for(inti=0;
i<
showDay.length;
i++){
showDay[i]=newJTextField();
showDay[i].setBackground(backColor);
showDay[i].setLayout(newGridLayout(3,3));
showDay[i].addMouseListener(this);
showDay[i].addFocusListener(this);
}
calendarMessage=newCalendarMessage();
calendarPad=newCalendarPad();
notePad=newNotePad();
Calendarcalendar=Calendar.getInstance();
calendar.setTime(newDate());
year=calendar.get(Calendar.YEAR);
month=calendar.get(Calendar.MONTH)+1;
day=calendar.get(Calendar.DAY_OF_MONTH);
calendarMessage.setYear(year);
calendarMessage.setMonth(month);
calendarMessage.setDay(day);
calendarPad.setCalendarMessage(calendarMessage);
calendarPad.setShowDayTextField(showDay);
notePad.setShowMessage(year,month,day);
calendarPad.showMonthCalendar();
doMark();
calendarImage=newCalendarImage();
calendarImage.setImageFile(newFile("
flower.jpg"
));
clock=newClock();
JSplitPanesplitV1=newJSplitPane(JSplitPane.VERTICAL_SPLIT,calendarPad,calendarImage);
JSplitPanesplitV2=newJSplitPane(JSplitPane.VERTICAL_SPLIT,notePad,clock);
JSplitPanesplitH=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,splitV1,splitV2);
add(splitH,BorderLayout.CENTER);
showYear=newJTextField("
"
+year,6);
showYear.setFont(newFont("
TimesRoman"
Font.BOLD,12));
showYear.setHorizontalAlignment(JTextField.CENTER);
showMonth=newJTextField("
+month,4);
showMonth.setFont(newFont("
showMonth.setHorizontalAlignment(JTextField.CENTER);
nextYear=newJButton("
下年"
previousYear=newJButton("
上年"
nextMonth=newJButton("
下月"
previousMonth=newJButton("
上月"
nextYear.addActionListener(this);
previousYear.addActionListener(this);
nextMonth.addActionListener(this);
previousMonth.addActionListener(this);
JPanelnorth=newJPanel();
north.add(previousYear);
north.add(showYear);
north.add(nextYear);
north.add(previousMonth);
north.add(showMonth);
north.add(nextMonth);
add(north,BorderLayout.NORTH);
saveDailyRecord=newJButton("
保存日志"
deleteDailyRecord=newJButton("
删除日志"
readDailyRecord=newJButton("
读取日志"
saveDailyRecord.addActionListener(this);
deleteDailyRecord.addActionListener(this);
readDailyRecord.addActionListener(this);
JPanelpSouth=newJPanel();
pSouth.add(saveDailyRecord);
pSouth.add(deleteDailyRecord);
pSouth.add(readDailyRecord);
add(pSouth,BorderLayout.SOUTH);
getPicture=newJButton("
选择日历图像"
getPicture.addActionListener(this);
pSouth.add(getPicture);
setVisible(true);
setBounds(60,60,660,480);
validate();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==nextYear){
year++;
showYear.setText("
+year);
calendarMessage.setYear(year);
calendarPad.setCalendarMessage(calendarMessage);
calendarPad.showMonthCalendar();
notePad.setShowMessage(year,month,day);
doMark();
elseif(e.getSource()==previousYear){
year--;
elseif(e.getSource()==nextMonth){
month++;
if(month<
1)month=12;
showMonth.setText("
+month);
calendarMessage.setMonth(month);
elseif(e.getSource()==previousMonth){
month--;
elseif(e.getSource()==showYear){
Strings=showYear.getText().trim();
chara[]=s.toCharArray();
booleanboo=false;
for(inti=0;
a.length;
i++)
if(!
(Character.isDigit(a[i])))
boo=true;
if(boo==true)
JOptionPane.showMessageDialog(this,"
您输入了非法年份"
"
警告"
JOptionPane.WARNING_MESSAGE);
elseif(boo==false)
year=Integer.parseInt(s);
elseif(e.getSource()==saveDailyRecord){
notePad.save(dir,year,month,day);
elseif(e.getSource()==deleteDailyRecord){
notePad.delete(dir,year,month,day);
elseif(e.getSource()==readDailyRecord){
notePad.read(dir,year,month,day);
elseif(e.getSource()==getPicture){
FileDialogfd=newFileDialog(this,"
打开文件对话框"
fd.setVisible(true);
Stringfileopen=null,filename=null;
fileopen=fd.getDirectory();
filename=fd.getFile();
calendarImage.setImageFile(newFile(fileopen,filename));
publicvoidmousePressed(MouseEvente){
JTextFieldtext=(JTextField)e.getSource();
Stringstr=text.getText().trim();
try{day=Integer.parseInt(str);
}
catch(NumberFormatExceptionexp){
calendarMessage.setDay(day);
publicvoidmouseReleased(MouseEvente){}
publicvoidmouseEntered(MouseEvente){}
publicvoidmouseExited(MouseEvente){}
publicvoidmouseClicked(MouseEvente){}
publicvoidfocusGained(FocusEvente){
Componentcom=(Component)e.getSource();
com.setBackground(Color.pink);
publicvoidfocusLost(FocusEvente){
com.setBackground(backColor);
publicvoiddoMark(){
showDay[i].removeAll();
Stringstr=showDay[i].getText().trim();
try{
intn=Integer.parseInt(str);
if(isHaveDailyRecord(n)==true){
JLabelmess=newJLabel("
有"
mess.setFont(newFont("
Font.PLAIN,11));
mess.setForeground(Color.blue);
showDay[i].add(mess);
}
}
catch(Exceptionexp){}
calendarPad.repaint();
calendarPad.validate();
publicbooleanisHaveDailyRecord(intn){
Stringkey="
+year+"
+month+"
+n;
String[]dayFile=dir.list();
for(intk=0;
k<
dayFile.length;
k++){
if(dayFile[k].equals(key+"
.txt"
)){
break;
returnboo;
publicStringgetPicture_address(){
Stringaddress=null;
try{
InputStreamoutOne=newFileInputStream("
picture_address.txt"
ObjectInputStreamoutTwo=newObjectInputStream(outOne);
try{
address=(String)outTwo.readObject();
}catch(Exceptionex){
outTwo.close();
}catch(IOExceptioneee){
if(address!
=null){
returnaddress;
}else{
return"
picture.jpg"
;
publicvoidactionPerformed1(ActionEvente){
if(e.getActionCommand().equals("
更改图片背景"
)){
FileDialogdia=newFileDialog(this,"
选择图片"
FileDialog.LOAD);
dia.setModal(true);
dia.setVisible(true);
if((dia.getDirectory()!
=null)&
&
(dia.getFile()!
=null)){
try{
FileOutputStreaminOne=newFileOutputStream(
"
ObjectOutputStreaminTwo=newObjectOutputStream(inOne);
inTwo.writeObject(dia.getDirectory()+dia.getFile());
inTwo.close();
}catch(IOExceptionee){
Stringpicturename=getPicture_address();
calendarImage.setImageFile(newFile(picturename));
publicstaticvoidmain(Stringargs[]){
newCalendarWindow();
}
CalendarPad类
importjava.awt.*;
importjavax.swing.JPanel;
publicclassCalendarPadextendsJPanel{
JLabeltitle[];
String[]星期={"
SUN日"
MON一"
TUE二"
WED三"
THU四"
FRI四"
SAT六"
};
JPanelnorth,center;
publicCalendarPad(){
setLayout(newBorderLayout());
north=newJPanel();
north.setLayout(newGridLayout(1,7));
center=newJPanel();
center.setLayout(newGridLayout(6,7));
add(center,BorderLayout.CENTER);
add(north,BorderLayout.NORTH);
title=newJLabel[7];
for(intj=0;
j<
7;
j++){
title[j]=newJLabel();
title[j].setFont(newFont("
Font.BOLD,12));
title[j].setText(星期[j]);
title[j].setHorizontalAlignment(JLabel.CENTER);
title[j].setBorder(BorderFactory.createRaisedBevelBorder());
north.add(title[j]);
title[0].setForeground(Color.red);
title[6].setForeground(Color.blue);
publicvoidsetShowDayTextField(JTextField[]text){
showDay=text;
showDay[i].setFont(newFont("
Font.BOLD,15));
showD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 日历 记事本 课程设计 报告