面向对象程序的设计说明书与程序(日历记事本)

面向对象程序的设计说明书与程序(日历记事本)
面向对象程序的设计说明书与程序(日历记事本)

日历记事本

1.课程设计目的

通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。

本课程设计设计GUI界面的日历记事本,系统将日历和记事本结合在一起,可以方便的保存、查看日志,即在任何日期记载下有关容或查看某个日期记载的容。

2.设计方案论证

2.1设计思路

2.1.1 本系统界面的左侧是日历和一幅图像。该日历可以按年前后翻动,用鼠标左键单击“上年”按钮,可将当前日历的年份减一;用鼠标左键单击“下年”按钮,可将当前日历的年份加一。该日历还可以在某年按月前后翻动,用鼠标单击“上月”按钮,可将当前日历的月份减一;用鼠标单击“下月”按钮,可将当前日历的月份增一。

2.1.2 系统界面的右侧是记事本和一个时钟。用鼠标单击日历上的日期,就可以通过该记事本编辑有关日志,并将日志保存到一个文件。该文件的名字是由当前日期组成的字符序列。用户可以查看、删除某个日期的日志,也可以继续向某个日志添加新的容。2.1.3 当某个日期有日志时,显示该日期的外观上就会出现“有”标记,表明这个日期有日志;当用户删除某个日期的日志后,该日期的外观上的“有”

标记就会消失。

2.2设计方法

在设计日历记事本时,需要编写6个Java源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java 、Clock.java和CalendarMessage.java。

日历记事本除了需要编写的上述6个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。

2.2.1 CalendarWindow.java 主类

该类创建动态日历记事本的主窗口,该类含有main方法,是程序的入口

程序,CalenderWindow类的成员变量中有5种重要类型的对象, CalendarPad、NotePad、CalendarImage、Clock、CalendarMessage对象。

2.2.2 CalenderMessage.java

该类用来刻画和“日期”有关的数据。

2.2.3 CalenderPad.java

该类是JPanel类的子类,所创建的对象是CalendarWindow类的重要成员之一,用来表示”日历”,即负责显示和修改CalendarMessage对象中的日期数据。

2.2.4 Notepad.java

该类是JPanel的一个子类,创建的对象表示“记事本”,提供编辑读取和保存阐述日志的功能。

2.2.5 CalendarImage.java

该类所创建的对象是CalendarWindow类的成员之一,负责绘制图像。

2.2.6 Clock.java

该类创建的对象是CalendarWindow类的成员之一,负责显示时钟。

日历记事本用到的一些重要的类以及之间的关系如图1所示。

图1 类之间的组合关系图

2.3功能模块

此设计共有以下几个功能模块。

2.3.1 年份改变

点击一次“上年”按钮可增加一年,点击一次“下年”按钮可减少一年,多次连

续点击即可依次改变多个年份。

2.3.2 月份改变

点击一次“上月”按钮可以增加一月,点击一次“下年”按钮可以减少一月,多次连续点击即可一次改变多个月份。

2.3.3 日期显示

用于显示当前所选择的所在的年份月份的所有日期、星期,并在记载有日志的日期格中左上角显示“有”标记,而没有记载日志的日期则没有任何标记。

2.3.4 图片显示

为了使本设计界面美观,设置了图片显示模块,使整个设计更加实用、美观、大方。

2.3.5 日志显示

界面的右侧上半部的文本框中,可以选择某天记载日志,并且读取的日志在此部

分显示出来。

2.3.6 时钟显示

以传统时钟(有时针、分针、秒针)的模式显示当前的时间。

2.3.7 保存、删除、读取日志。

可以在没有记载日志的日期里记载日志并保存,可以对以保存的日志进行读取、修改或者删除。

2.4流程图如下

图2 流程图

2.5类、方法、属性说明

2.5.1 CalendarWindow类

(1)成员变量

·year,month和day是int型数据,它们的值分别确定年份、月份和日期。·calendarMessage是CalendarMessage对象,该对象可以处理和日期有关的数据。·calendarPad是CalendarPad对象,该对象可以显示和日期有关的数据。·notePad是NotePad对象,具有编辑、读取、保存和删除日志的功能。·showYear和showMonth是JTextField类创建的文本框,用来显示年份和月份。·showDay数组的每个单元是JTextField类创建的用来显示日期的文本框。·calendarImage是CalendarImage创建的对象,用来显示图像。

·clock是Clock创建的对象,用来显示时钟。

·nextYear等是JButton创建的按钮对象,名字依次为“下年”、“上年”、“下月”、“上月”。这些按钮都将当前窗口注册为自己的ActionEvent事件监听者。·saveDauktRecord,deleteDailyRecord,readDailyRecord是JButton创建的按钮对象,名字依次为“保存日志”、“删除日志”、“读取日志”。这些按钮都当前窗口注册为自

己的ActionEvent事件监听者。

(2)方法

·CalendarWindow()是构造方法,负责完成窗口的初始化。

·actionPerformed(AcrionEvent)方法是CalendarWindow类实现的ActionListner 接口中的方法。

·mousePressed(MouseEvent)方法是CalendarWindow类实现的MouseListener接口中

的方法。

·doMark()方法负责对有日志的日期作出标记。

·main方法是程序运行的人口方法。

2.5.2 CalenderMessage类

(1)成员变量

year、month和day是int型数据,它们的值分别确定年份、月份和日期。

(2)方法

·setYear(int)和getYear()方法分别用来设置year和获取year的值。·setMonth(int)和getMonth()方法分别用来设置month和获取month的值。·setDay(int)和getDay()方法分别用来设置day和获取day的值。

2.5.3 CalenderPad类

(1)成员变量

·year、month和day是int型数据,它们的值分别确定年份、月份和日期。·calenderMessage是CalenderMessage对象,该对象可以处理和日期有关的数据。·showDay数组的每个单元是JTextField类创建的用来显示日期的文本框。

(2)方法

·CalenderPad()是构造方法,用来创建calenderPad对象。·setShowDayTextField(JTextField[])方法负责设置showDay数组。·showMonthCalendar()方法负责显示“日历”。

2.5.4 Notepad类

(1)成员变量

·text是JTextArea创建的文本区,可在text中编辑多行文本。

·menu是JpopupMenu创建的弹出式菜单。

·showMessage是JTextField创建的文本条,用来显示和日期有关的数据。

(2)方法

·Notepad()是构造方法,用来创建notePad对象。

·setShowMessage(int,int,int)方法根据参数指定的日期数据显示有关日期信息。·save(File,int,int,int)方法根据参数指定的日期保存日志。

·delete(File,int,int,int)方法删除参数日期指定的日志。

2.5.5 CalendarImage类

(1)成员变量

·imageFile是File对象,用来存放图像文件的引用。

·image是Image对象。

·tool是Toolkit对象,负责创建image对象。

(2)方法

·CalendarImage()是构造方法,负责创建calendarImage对象。

·paintComponent(Graphics)方法负责绘制image。

2.5.6 Clock类

(1)成员变量

·date是Date对象,负责封装本地时间。

·secondTime是javax.swing包中Timer类中创建的计时器。

·pointSX,pointSY是double型数组,其单元值用来表示秒针端点坐标。

(2)方法

·Clock()是构造方法,用来创建clock对象。

·paintComonent(Graphics)负责完成绘制工作。

3.设计结果与分析

将6个Java源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java 、Clock.java和CalendarMessage.java,以及所需要的名为flower.jpg的图像文件保存到同一目录中。分别编译这6个Java源文件,或运行“javac

*.java”命令,编译全部的源文件,然后运行主类,即运行CalendarWindow类。

运行结果图中可以看出记载日志的日期中会有“有”标记,而没有记载日志的日期中没有“有”标记。右下侧是时钟,左下角显示图片。

图3 运行结果图

在此结果中,点击上方的“上年”或“下年”可以改变年份,点击“上月”或“下月”可以改变月份。右下角显示当前的时间。可以在任意一天记日志,在有“有”标记的日期查看日志或删除日志。

当想保存日志时,选中某一天,在右侧记下日志点击“保存”即可。

当想查看某天的日志是选中带“有”标记的当天,点击“读取日志”可出现图4所示的提示框,点击是即可读取日志就可以查看日志容,如图5所示。

图4 提示显示页面图

图5 查看日志图

若想要删除已有的日志,则选中要删除的日期,点击“删除日志”,则出现提示框,

如图6所示,询问是否要删除,点击“是”,则删除了此篇日志,此时,原有的“有”字标记就会消失,此篇日志也就随之消失,如图7所示。

图6 提示删除页面图

图7 删除后页面图

当想要更改日志中文字的格式和大小。点击字体大小的下拉链条,选择想要的字体,如图8所示。如果想设置字体的格式,这点击格式的下拉链条,如图9所示。

图8 选择字体大小

图9 选择字体格式

如果想要更改图片,则单击左上角设置按钮,选择【选择图像】按钮,选择想要设置的图片,如图10、11所示

图10 选择选择图像

图10 选择选择图像后

4.设计体会

经过几天的努力,参考了一些书和网上的资料,完成了一个日历记事本的设计。

由于只学过一学期的Java课程,知识掌握的有限,所以此程序不是特别复杂。在这个

过程中,在把书本上的知识给系统的复习了一下的同时,同时也发现了自己的太多不足,对JAVA语言整体知识构架不够熟悉,不能灵活地运用所学的知识点。自己的编程方式也不是太标准,经常出现代码写错而调试很久的低级错误情况出现。通过这次课程设计,我明白了编写程序,不仅要求对课本知识有较深刻的了解,同时要求程序设计者有较强的思维和动手能力。还要熟悉常用的编程技巧和编程思想,不能只关心程序的运行结果,更要注重程序代码的结构,编程者更要有严谨地态度。

本次课程设计不仅巩固了以前所学的知识,还有通过设计过程中大量地查阅网络文章,对一些关键知识点逐个地了解并解决相关问题。所以网络这个强大的工具,确实是我们学习之中可以借助的一个很好的帮手。网络是我们学习的最好的老师之一。有问题,问网络,是一个很好的习惯。因此学到了不少书本上没有的知识;学到了很多java编程知识。可以说它给了我一次自我评估的机会。通过设计让我知道了那些方面我还是有欠缺的,促使我花时间弥补。总之,本次课程设计收获颇丰。

5.参考文献

[1]耿详义,跃平.Java2程序设计(第二版).北京:清华大学;2008.11

[2]董小园.Java面向对象程序设计.北京:清华大学;2011.6

附件:

import javax.swing.*;

import java.io.*;

import java.awt.*;

public class CalendarImage extends JPanel{

File imageFile;

Image image;

Toolkit tool;

CalendarImage(){

tool=getToolkit();

}

public void setImageFile(File f){

imageFile=f;

try{ image=tool.getImage(imageFile.toURI().toURL());

}

catch(Exception exp){}

repaint();

}

public void paintComponent(Graphics g){

super.paintComponent(g);

int w=getBounds().width;

int h=getBounds().height;

g.drawImage(image,0,0,w,h,this);

}

} 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

import java.util.Calendar;

public class CalendarMessage{

int year=-1,month=-1,day=-1;

public void setYear(int year){

this.year=year;

}

public int getYear(){

return year;

}

public void setMonth(int month){

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

this.month=month;

else

this.month=1;

}

public int getMonth(){

return month;

}

public void setDay(int day){

this.day=day;

}

public int getDay(){

return day;

}

public String [] getMonthCalendar(){

String [] day=new String[42];

Calendar rili=Calendar.getInstance();

rili.set(year,month-1,1);//将日历翻到year年month月1日,注意0表示一月...11表示十二月

int 星期几=rili.get(Calendar.DAY_OF_WEEK)-1;

int dayAmount=0;

if(month==1||month==3||month==5||month==7||month==8||month==10||month ==12)

dayAmount=31;

if(month==4||month==6||month==9||month==11)

dayAmount=30;

if(month==2)

if(((year%4==0)&&(year%100!=0))||(year%400==0))

dayAmount=29;

else

dayAmount=28;

for(int i=0;i<星期几;i++)

day[i]="";

for(int i=星期几,n=1;i<星期几+dayAmount;i++){

day[i]=String.valueOf(n) ;

n++;

}

for(int i=星期几+dayAmount;i<42;i++)

day[i]="";

return day;

}

} 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

public class CalendarPad extends JPanel{

int year,month,day;

CalendarMessage calendarMessage;

JTextField [] showDay;

JLabel title[];

String [] 星期={"SUN日","MON一","TUE二","WED三","THU四","FRI五","SAT六"};

JPanel north,center;

public CalendarPad(){

setLayout(new BorderLayout());

north=new JPanel();

north.setLayout(new GridLayout(1,7));

center=new JPanel();

center.setLayout(new GridLayout(6,7));

add(center,BorderLayout.CENTER);

add(north,BorderLayout.NORTH);

title=new JLabel[7];

for(int j=0;j<7;j++){

title[j]=new JLabel();

title[j].setFont(new Font("TimesRoman",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);

}

public void setShowDayTextField(JTextField [] text){

showDay=text;

for(int i=0;i

showDay[i].setFont(new Font("TimesRoman",Font.BOLD,15));

showDay[i].setHorizontalAlignment(JTextField.CENTER);

showDay[i].setEditable(false);

center.add(showDay[i]);

}

}

public void setCalendarMessage(CalendarMessage calendarMessage){ this.calendarMessage=calendarMessage;

}

public void showMonthCalendar(){

String [] a=calendarMessage.getMonthCalendar();

for(int i=0;i<42;i++)

showDay[i].setText(a[i]);

validate();

}

}

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

import java.io.*;

public class CalendarWindow extends JFrame implements ActionListener, MouseListener,FocusListener{

JMenuBar menu;

JMenu sz;

JMenuItem xtx;

int year,month,day;

CalendarMessage calendarMessage;

CalendarPad calendarPad;

NotePad notePad;

JTextField showYear,showMonth;

JTextField [] showDay;

CalendarImage calendarImage;

Clock clock;

JButton nextYear,previousYear,nextMonth,previousMonth;

JButton

button0,saveDailyRecord,deleteDailyRecord,readDailyRecord;

File dir;

Color backColor=Color.white;

public CalendarWindow(){

dir=new File("./dailyRecord");

dir.mkdir();

showDay=new JTextField[42];

for(int i=0;i

showDay[i]=new JTextField();

showDay[i].setBackground(backColor);

showDay[i].setLayout(new GridLayout(3,3));

showDay[i].addMouseListener(this);

showDay[i].addFocusListener(this);

}

calendarMessage=new CalendarMessage();

calendarPad=new CalendarPad();

notePad=new NotePad();

Calendar calendar=Calendar.getInstance();

calendar.setTime(new Date());

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(); //给有日志的做标记,见后面的doMark()方法

calendarImage=new CalendarImage();

calendarImage.setImageFile(new File("01.jpg"));

clock=new Clock();

JSplitPane splitV1=

new

JSplitPane(JSplitPane.VERTICAL_SPLIT,calendarPad,calendarImage);

JSplitPane splitV2=

new JSplitPane(JSplitPane.VERTICAL_SPLIT,notePad,clock);

JSplitPane splitH=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,splitV1,splitV2);

add(splitH,BorderLayout.CENTER);

showYear=new JTextField(""+year,6);

showYear.setFont(new Font("TimesRoman",Font.BOLD,12)); showYear.setHorizontalAlignment(JTextField.CENTER);

showMonth=new JTextField(" "+month,4);

showMonth.setFont(new Font("TimesRoman",Font.BOLD,12)); showMonth.setHorizontalAlignment(JTextField.CENTER);

button0=new JButton("图像");

menu=new JMenuBar();

sz=new JMenu("设置");

xtx=new JMenuItem("选择图像");

nextYear=new JButton("下年");

previousYear=new JButton("上年");

nextMonth=new JButton("下月");

previousMonth=new JButton("上月");

nextYear.addActionListener(this);

previousYear.addActionListener(this);

nextMonth.addActionListener(this);

previousMonth.addActionListener(this);

showYear.addActionListener(this);

JPanel north=new JPanel();

north.add(previousYear);

north.add(showYear);

north.add(nextYear);

north.add(previousMonth);

north.add(showMonth);

north.add(nextMonth);

xtx.addActionListener(this) ;

menu.add(sz);

sz.add(xtx);

this.setJMenuBar(menu);

add(north,BorderLayout.NORTH);

saveDailyRecord=new JButton("保存日志") ;

deleteDailyRecord=new JButton("删除日志");

readDailyRecord=new JButton("读取日志");

saveDailyRecord.addActionListener(this);

deleteDailyRecord.addActionListener(this);

readDailyRecord.addActionListener(this);

JPanel pSouth=new JPanel();

pSouth.add(saveDailyRecord);

pSouth.add(deleteDailyRecord);

pSouth.add(readDailyRecord);

add(pSouth,BorderLayout.SOUTH);

setVisible(true);

setBounds(60,60,660,480);

validate();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void actionPerformed(ActionEvent e){

if(e.getSource()==nextYear){

year++;

showYear.setText(""+year);

calendarMessage.setYear(year);

calendarPad.setCalendarMessage(calendarMessage);

calendarPad.showMonthCalendar();

notePad.setShowMessage(year,month,day);

doMark();

}

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

{

FileDialog dia=new FileDialog(this,"选定图片",FileDialog.LOAD);

dia.setModal(true);

dia.setVisible(true);

if((dia.getDirectory()!=null)&&(dia.getFile()!=null)) {

calendarImage.setImageFile(new File(dia.getFile()));

}

}

else if(e.getSource()==previousYear){

year--;

showYear.setText(""+year);

calendarMessage.setYear(year);

calendarPad.setCalendarMessage(calendarMessage);

calendarPad.showMonthCalendar();

notePad.setShowMessage(year,month,day);

doMark();

}

else if(e.getSource()==nextMonth){

month++;

if(month>12) month=1;

showMonth.setText(" "+month);

calendarMessage.setMonth(month);

calendarPad.setCalendarMessage(calendarMessage);

calendarPad.showMonthCalendar();

notePad.setShowMessage(year,month,day);

doMark();

}

else if(e.getSource()==previousMonth){

month--;

if(month<1) month=12;

showMonth.setText(" "+month);

calendarMessage.setMonth(month);

calendarPad.setCalendarMessage(calendarMessage);

calendarPad.showMonthCalendar();

notePad.setShowMessage(year,month,day);

doMark();

}

else if(e.getSource()==showYear){

String s=showYear.getText().trim();

char a[]=s.toCharArray();

boolean boo=false;

for(int i=0;i

if(!(Character.isDigit(a[i])))

boo=true;

if(boo==true) //弹出“警告”消息对话框

JOptionPane.showMessageDialog(this,"您输入了非法年份","警告",

JOptionPane.WARNING_MESSAGE);

else if(boo==false)

year=Integer.parseInt(s);

showYear.setText(""+year);

calendarMessage.setYear(year);

calendarPad.setCalendarMessage(calendarMessage);

calendarPad.showMonthCalendar();

notePad.setShowMessage(year,month,day);

doMark();

}

else if(e.getSource()==saveDailyRecord){

notePad.save(dir,year,month,day);

doMark();

}

else if(e.getSource()==deleteDailyRecord){

notePad.delete(dir,year,month,day);

doMark();

}

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

notePad.read(dir,year,month,day);

}

public void mousePressed(MouseEvent e){

JTextField text=(JTextField)e.getSource();

String str=text.getText().trim();

try{ day=Integer.parseInt(str);

}

catch(NumberFormatException exp){

}

calendarMessage.setDay(day);

notePad.setShowMessage(year,month,day);

}

public void mouseReleased(MouseEvent e){}

public void mouseEntered(MouseEvent e) {}

public void mouseExited(MouseEvent e) {}

public void mouseClicked(MouseEvent e) {}

public void focusGained(FocusEvent e){

Component =(Component)e.getSource();

.setBackground(Color.pink);

}

public void focusLost(FocusEvent e){

Component =(Component)e.getSource();

.setBackground(backColor);

}

public void doMark(){

for(int i=0;i

showDay[i].removeAll();

String str=showDay[i].getText().trim();

try{

int n=Integer.parseInt(str);

if(isHaveDailyRecord(n)==true){ //见后面的isHaveDailyRecord()方法

JLabel mess=new JLabel("有");

mess.setFont(new Font("TimesRoman",Font.PLAIN,11)); mess.setForeground(Color.blue) ;

showDay[i].add(mess);

}

}

catch(Exception exp){}

}

calendarPad.repaint();

calendarPad.validate();

}

public boolean isHaveDailyRecord(int n){

String key=""+year+""+month+""+n;

String [] dayFile=dir.list();

boolean boo=false;

for(int k=0;k

if(dayFile[k].equals(key+".txt")){

boo=true;

重庆科技学院_java程序课程设计__日历记事本

Java程序设计课程设计报告

日历记事本 目录 目录 (2) 1 概述 (1) 1.1 课程设计目的 (1) 1.2 课程设计内容 (1) 2 系统需求分析 (1) 2.1 系统目标 (1) 2.2 主体功能 (1) 2.3 开发环境 (1) 3系统概要设计 (1) 3.1 系统的功能模块划分与系统流程图 (1) 4系统详细设计 (2) 5 测试 (4) 5.1 测试方案 (4) 5.2 测试结果 (4) 6 小结 (6) 参考文献 (8) 附录 (9) 附录1 源程序清单 (9)

Java程序设计课程设计报告(2011) 学生成绩管理系统的设计 1 概述 1.1 课程设计目的 1)巩固和提高java编程技术。 2)培养掌握成学设计的基本思路和方法。 3)加强研发、调试程序的能力。 4)增强分析、解决问题的能力。 5)提高科技论文写作能力。 1.2 课程设计内容 设计GUI界面的日历记事本。系统将日历、记事本功能结合在一起,用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。 2 系统需求分析 2.1 系统目标 1. 系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前的日历的年份减一;当鼠标左键单击“下年”按钮,当前日历年份加一。 2. 该日历也可以在某年内按月前后翻动,鼠标单击“上月”按钮时,当前的日历的月份减一;当鼠标左键单击“下月”按钮,当前日历月份加一。 3. 使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日已有记录内容,并询问用户是否用记事本显示该内容。 2.2 主体功能 用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。 通过按按钮“上年”和“下年”对年份进行翻页。通过按按钮“上月”和“下月”对月份进行翻页。用户可以通过输入年份来查看自己的日志。 2.3 开发环境 Windows XP;jdk1.5.0-0-05;ultraedit开发工具 3系统概要设计 3.1 系统的功能模块划分与系统流程图 本日历记事本共有4个java源文件。

java 记事本程序设计报告

Xxx学校 JAVA程序设计课程设计报告 课题: 记事本 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间

目录 一、系统描述 (3) 二、分析与设计 (4) 1. 分析 (4) 2. 功能模块划分 (4) 3. 功能模块流程图 (5) 4. 各模块的关键代码 (5) 三、系统测试 (7) 四、心得体会 (10) 五、参考文献 (10) 六、附录 (11)

一、系统描述 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大范围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的eclipse开发工具。

Java课程设计+文档+源代码(万年历+闹钟+记事本)

2015年12月18日 一、课程题目 设计一个万年历系统,实现以下功能 (1)可以查看当前的年份、月份和日期; (2)有时间栏,便于用户查看当前时间; (3)能够查找1至9999年的日期与星期的关系。 其它功能可自行开发。 二、题目分析与设计 1.使用的开发环境为eclipse Jdk环境:jdk1.8 2. (此为万 年历界面图) 使用了jTabbedPane 类对功能页面分页,布局策略基本用BorderLayout 和GridLayout 。 3.本项共有5个类,基本一个功能有一个类实现,主类CalendarMain 只包含一个main函数:对创建框架和其属性设置。

AlarmDemo类则实现闹钟功能;NoteBook 类实现记事本功能;CalendarsView 类则实现基本日历功能,ChooseDay 类是一个弹窗,被CalendarsView 调用,CalendarsView 、AlarmDemo 也在该类被调用; . 4.日历界面使用了jTable ,功能的实现逻辑则是 1.首先定义两个全局变量---年和月,查看不同时间的日历,该变量也 随之改变。 2.写了几个函数获取今年第一天是星期几,然后根据月份天数即可推 算具体某月第一天是星期几。 3.知道一个月第一天是星期几,则该月日历既可以顺序列出。 闹钟的功能实现思路: 1.获取界面设定的时间。

2.使用线程,每过一秒急救获取当前时间,并判断是否到达设定的时 间 3.到设定的时间,启动弹窗,播放闹铃 4.闹铃科根据文件选择器自行选择 记事本功能实现思路 1.在项目文件夹先新建一个txt文件作为储存的数据库 2.利用File 类和io 数据流将界面文本储存进txt文件,实现保存功 能 3.每当程序启动,读取txt文件内容并显示到界面上 三、测试分析 1.使用如下拓展包

JAVA简单记事本程序设计实验报告(带源码).

JAVA程序设计 实验报告 院系:信息工程系 专业:计算机应用技术 班级:11计算机01班 姓名:Civen 任课教师:XXX 实验题目:JA V A简单记事本程序设计

目录 目录 (1) 一、引言 (2) 1.1 课程设计目的 (2) 1.2 题目说明 (2) 1.3 开发工具介绍 (2) 二、总体设计 ......................................................................... - 4 - 2.1系统开发平台.............................................................. - 4 - 2.2 系统流程图 (4) 2.3功能结构图.................................... 错误!未定义书签。 2.4数据库设计.................................... 错误!未定义书签。 三、详细说明 (4) 3.1 系统实施................................................................... - 11 - 四、系统的调试和运行 (9) 五、课程设计总结 (9) 六、参考文献 (9) 附录(源程序代码) (10)

一、引言 1.1 课程设计目的 1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 1.掌握窗口、菜单等高级组件的应用。 2.掌握Java Swing的使用方法。 3.了解GUI应用程序的创建过程与方法。 1.2 题目说明 课题:学生成绩管理 4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项 文件新建、打开、保存、退出 编辑剪切、拷贝、粘贴、查找 帮助关于 5.实现文件和编辑菜单里的功能 1.3 开发工具介绍 Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同

Java日历记事本课程设计报告毕业用资料

Java日历记事本课程设计报告 在设计日历记事本时,需要编写6个JAVA源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java、Clock.java和CalendarMesssage.java 效果图如下 .CalendarWindow类 import javax.swing.*; import java.awt.*;

import java.awt.event.*; import java.util.*; import java.io.*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad; JTextField showYear,showMonth; JTextField[]showDay; CalendarImage calendarImage; String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord; JButton getPicture; File dir;

日历记事本2020

2020年1月 星期一星期二星期三星期四星期五星期六星期日 1元旦2腊八节3初九4初十5十一 6小寒7十三8十四9十五10十六11十七12十八 13十九14二十15廿一16廿二17小年18廿四19廿五 20大寒21廿七22廿八23廿九24除夕25春节26初二 27初三28初四29初五30初六31初七

2020年2月 星期一星期二星期三星期四星期五星期六星期日 1初八2湿地日 3初十4立春5十二6十三7十四8元宵节9十六 10十七11十八12十九13二十14情人节15廿二16廿三 17廿四18廿五19雨水20廿七21廿八22廿九23初一 24龙头节25初三26初四27初五28初六29初七

2020年3月 星期一星期二星期三星期四星期五星期六星期日30初七31初八1初八 2初九3初十4十一5惊蛰6十三7十四8妇女节 9十六10十七11十八12植树节13二十14廿一15消费者... 16廿三17廿四18廿五19廿六20春分21廿八22廿九 23三十24初一25初二26初三27初四28初五29初六

2020年4月 星期一星期二星期三星期四星期五星期六星期日 1愚人节2初十3十一4清明5十三 6十四7十五8十六9十七10十八11十九12二十 13廿一14廿二15廿三16廿四17廿五18廿六19谷雨 20廿八21廿九22地球日23初一24初二25初三26初四 27初五28初六29初七30初八

2020年5月 星期一星期二星期三星期四星期五星期六星期日 1劳动节2初十3十一 4五四青...5立夏6十四7十五8十六9十七10母亲节 11十九12护士节13廿一14廿二15廿三16廿四17廿五 18博物馆日19廿七20小满21廿九22三十23初一24初二 25初三26初四27初五28初六29初七30初八31初九

java课程设计策画日历记事本

课程设计说明书 课程: Java程序设计 院系:计算机科学学院 专业班级:计算机科学与技术(2)班 组员:张少华、张天阳 2010年6月 26 日

《Java程序设计》课程设计 ——日历记事本 我们开发了一个实现有日历标记的记事本软件,日历记事本面板由日历和和记事本两部分组成。日历部分可以调节年份,月份,日期,星期。记事本可以实行查看,保存,删除等操作,并且每一步操作都有相应提示。本软件是一个实用性很强,简洁,方便的功能软件。 引言 Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此,我们成了一个课程小组,经过小组成的商讨之后,我们决定以“日历记事本”为设题材,借此巩固加深我们对Java 的了解。 本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。 1、设计的目的与要求; (1)为用户提供一个简便的日历记事本; (2)对java技术的进一步了解和简单的运用; (3)初步的接触软件工程; 2.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“日历记事本”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 3.设计方案 3.1 总体设计

面向对象程序的设计说明书与程序(日历记事本)

日历记事本 1.课程设计目的 通过此次课程设计,巩固所学Java语言基本知识,增进Java语言编辑基本功,掌握JDK、Editplus、Eclipse、JCreator等开发工具的运用,拓宽常用类库的应用。使我们通过该教学环节与手段,把所学课程及相关知识加以融会贯通,全面掌握Java语言的编程思想及面向对象程序设计的方法,为今后从事实际工作打下坚实的基础。 本课程设计设计GUI界面的日历记事本,系统将日历和记事本结合在一起,可以方便的保存、查看日志,即在任何日期记载下有关容或查看某个日期记载的容。 2.设计方案论证 2.1设计思路 2.1.1 本系统界面的左侧是日历和一幅图像。该日历可以按年前后翻动,用鼠标左键单击“上年”按钮,可将当前日历的年份减一;用鼠标左键单击“下年”按钮,可将当前日历的年份加一。该日历还可以在某年按月前后翻动,用鼠标单击“上月”按钮,可将当前日历的月份减一;用鼠标单击“下月”按钮,可将当前日历的月份增一。 2.1.2 系统界面的右侧是记事本和一个时钟。用鼠标单击日历上的日期,就可以通过该记事本编辑有关日志,并将日志保存到一个文件。该文件的名字是由当前日期组成的字符序列。用户可以查看、删除某个日期的日志,也可以继续向某个日志添加新的容。2.1.3 当某个日期有日志时,显示该日期的外观上就会出现“有”标记,表明这个日期有日志;当用户删除某个日期的日志后,该日期的外观上的“有” 标记就会消失。 2.2设计方法 在设计日历记事本时,需要编写6个Java源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java 、Clock.java和CalendarMessage.java。 日历记事本除了需要编写的上述6个Java源文件所给出的类外,还需要Java系统提供的一些重要的类,如JTextField、JTextArea和File类。 2.2.1 CalendarWindow.java 主类

记事本程序说明书

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2012年秋季学期 Java 课程设计 题目:记事本程序 专业班级:计算机科学与技术四班 姓名:杨大武 学号:10240426 指导教师:李睿 成绩:____________________

一、摘要 (1) 二、前言 (4) 三、设计分析 (5) 3.1系统概述 (5) 3.2系统运行环境 (5) 3.3功能需求描述 (5) 四、总体设计 (5) 五、系统的实现 (6) 5.1主界面包括 (6) 5.2完成图5-1程序代码 (8) 六、操作方法与试验结果 (8) 6.1 操作方法 (8) 6.2复制粘贴功能 (9) 6.3实验结果 (10) 七、设计体会 (10) 八、致谢 (11) 九、参考文献 (12) 附录 (13)

一、摘要 随着科学技术的快速发展,计算机程序设计早已成为了趋势,JAVA是计算机专业的核心课程,是计算机的算法理论基础和软件设计的基础。JAVA是实践性很强的课程。课程设计是加强实践能力的一个强有力手段。要求掌握JAVA的应用、编写、上机调试的基本方法。本次课程设计实现了一个简单记事本系统所需的功能,以及具体的设计步骤。该报告中的程序是使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,能实现编辑、保存、另存为、查找替换等功能等功能。该程序主要用到了Java swing和事件监听等 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少,所以选择了适合初学者使用的JCreator开发工具。 关键词:java , Java swing,事件监听,简单记事本

C++记事本课程设计

课程设计 本科生通用 题目:编程类课程设计 设计项目:记事本程序设计 专业班级: 学号: 姓名: 成绩:导师签字: 2014 年12月11日

任务书 设计题目: 记事本程序设计 要求: 设计一个软件记事本,能够记录用户输入的信息,并能实现保存输入信息,查看备忘信息。该记事本具有输入、修改、删除、查看信息的功能。具有日历功能,可以根据时间,标记备忘信息,方便用户使用。 日程安排: 12月8日:确定设计题目,查阅相关资料 12月9日:根据功能设计整体方案,划分系统各个模块功能 12月10日:建立工程,编写程序实现设计方案的功能 12月11日:调试程序,完善界面设计,书写设计报告

目录 第一章概述 (3) 1.1 设计目的 (3) 1.2 设计背景 (3) 第二章设计过程 (4) 2.1 设计框图 (4) 2.2 设计步骤 (4) 2.2.1 建立工程 (4) 2.2.2 向对话框添加控件 (4) 2.2.3 添加变量 (5) 2.2.4 编程 (5) 2.2.5 调试运行 (5) 设计结论 (7) 参考文献 (7) 附件(程序) (8)

第一章概述 1.1设计目的 使学生熟悉VC++6.0编译环境,了解面向对象的编程策略。 深入了解和掌握MFC原理与方法。 提升学生的编程技巧及编程能力。 以实际问题为切入点,锻炼学生运用VC++编程解决实际问题的能力。 培养学生的设计创新意识。 1.2设计背景 1.2.1 软件记事本简介 记事本是一个很有用的程序,主要操作包括对文件的储存,修改等,有编辑功能:包括剪贴、复制等,有对字体修改等。记事本可以提醒用户一些重要的事项,可以方便用户的生活。 1.2.2 VC++ 6.0简介 Visual C++6.0由Microsoft开发, 它不仅是一个VC++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。Microsoft的主力软件产品。Visual C++是一个功能强大的可视化软件开发工具。 1.2.3 C++语言简介 C++是在C语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。它支持过程化程序设计,数据抽象,面向对象设计,制作图标等多种程序设计风格。

vb课程设计记事本程序的编写

1 选题的背景与意义 记事本创建的背景 通过一学期的vb课程学习,理解并掌握了许多相关知识,知道了面向对象程序设计的基本概念和可视化程序设计的基本方法。为了更好地掌握与运用vb 中最常用的有关窗体和各种控件的运用、菜单、工具栏、对话框、状态栏、的设计以及文件操作等技术,因此在在学完该课程之后,设计了一个能够编辑编辑文本文档、RichText 文档,其文字处理能力类似于Word的简易记事本。 记事本创建的意义 该记事本具有操作简单,易懂灵活,一目了然的特点,同时由于运用了RichText控件,因此能够打开和编辑任意大的文档,运用起来比windows自带的记事本方便的多。从而为那些计算机技术应用并不熟练但需要使用计算机快速编辑和修改文档的用户提供了便利。同时该程序的编写也使得自己的知识掌握的更见牢固。 2 系统详细设计 主要功能 能够编辑文本文档,其文字处理功能类似于Word。 具有打开、保存、新建和退出文件功能。 具有剪切、复制、粘贴、设置文字的字体以及大小、颜色、对齐等文字编功能。以及字符串的查找功能。 打印功能。

要点的实现既使用技术 首先,在创建程序是应先设置窗体大小和编辑框的大小。 '窗体的加载事件 Private Sub Form_Load() = 0 = 0 = - 4000 = - 5000 = "宋体" '程序运行时字体是宋体 End Sub '设置编辑框的大小和位置 Private Sub Form_Resize() = 60 = 20 = - 100 = - 100 End Sub 第二,程序设计过程中必须先在窗体中添加CommonDialog和RichText控件。 如左图所示。CommonDialog控件的应用使得它提 供了如打开和保存文件,设置打印选项,选择颜 色和字体等操作的一组标准对话框,使我们通过 对话框填写的方式来实现上述操作。RichText控 件的使用是编辑和打开的文件大小不受限制。有 利于文件的编辑。

c#记事本课程设计报告

课程设计报告 课程名称:面向对象程序设计 题目名称:记事本 学生姓名: 学号: 专业班级: 指导教师: 目录 一.前言--------------------------------------------------3二.课程设计目的与任务-------------------------------4三.课程设计内容---------------------------------------4 1.记事本主要内容-------------------------------------4 2.设计思想--------------------------------------------4 3.主要构架--------------------------------------------4 4.流程图----------------------------------------------5 5.核心模块------------------------------------------5 6.文件菜单的各个功能------------------------------6 7.使用说明--------------------------------------------6 8.设计及分析------------------------------------------7

9.设计总节--------------------------------------------8四.附录-------------------------------------------------8 1打开的源码---------------------------------------------8 2保存的源码---------------------------------------------8五.主要参考资料----------------------------------------9 前言 VisualStudio是微软公司推出的开发环境,VisualStudio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。 Visualc#2008提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。 Visualc#2008包括各种增强功能,例如可视化设计器(使用.加速开发)、对Web开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。VisualStudio2008为开发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持AJAX的Web应用程序。 我的课程设计的记事本是使用c#编写的,只运用了c#2008中比较简单的功能,制作的记事本是仿照windows记事本制作的。实现记事本的基本功能,参考windows中记事本的功能。要求打开文件,读取文件中

电子日历记事本--Java课程设计

《面向对象程序设计》课程设计报告 题目:电子日历记事本的设计 院(系):信息科学与工程学院 专业班级:计算机科学与技术1201班 学生姓名:程伟 学号: 20121183011 指导教师:吴奕 20 14 年 12 月 29 日至20 15 年 1 月 9 日 华中科技大学武昌分校制 面向对象程序设计课程设计任务书

目录 1需求与总体设计 1 1.1需求分析 1 1.2总体设计思路 1 1.2.1功能图 1 1.2.2类图 2 2详细设计 (3) 2.1 CalendarPad类说明 3 2.2 Year类说明 3 2.3 Month 类模块 4 2.4 NotePad类说明 4 3编码实现 6 3.1 CalendarPad模块 6

3.2 Year模块 11 3.3 Month 模块 14 3.4 NotePad模块 16 4系统运行与测试 23 4.1程序主界面 23 4.2日志查看——无日志 23 4.3建立日志 24 4.4日志查看——有日志 24 4.5删除日志 26 总结 27 1需求与总体设计 1.1需求分析 根据题目要求,将日历与记事本功能相结合,实现对某日期的事件进行记录的功能,设计出简洁方便美观的GUI界面。 将本程序主界面可以分为四个部分:日历日期信息展示、年份、月份、记事本内容、记事本下方的时钟,用四个类来实现其“日历”和“记事本”这两大功能。通过主类CalendarPad创建动日历记事本软件的主界面,且该类中含有main

方法,程序从该类开始执行。再用余下的year、mouth、NotePad类来显示并改变日期和实现记事本的功能。 1.2总体设计思路 1. 可以编辑日历的日期 2. 可以判断当前日期是否存在日志记录 3. 对有日志记录的日期,可以对该日期的日志记录进行修改和删除 4. 对没有日志记录的日期,可以创建并保存新建的日志记录 5. 对保存的日志加密,查看时得输入密码 1.2.1功能图

基于Android手机平台的记事本设计课程设计

题目:基于Android手机平台的记事本设计 系名信息工程系 专业移动通信 学号 姓名 指导老师 2011/6/28

目录 第一章引言 1.1课题研究的目的 1.2课题研究的意义 1.3课题的可行性分析 第二章开发环境的安装和配置 2.1 开发包及其工具的介绍 2.2 Android开发平台的搭建步骤第三章程序设计 3.1 记事本组建的介绍 3.2 记事本存储实现 第四章程序开发 4.1 主activity的设计 4.2 编译内容 4.3 删除记事 第五章程序的测试 第六章总结 参考文献

第一章引言 1.1 课题研究的目的 1.熟悉一下eclipse工具和安卓的环境配置及开发的过程 2.熟练掌握java的组件如button,textview,listView,menu等组件的灵活应用 3.熟练掌握安卓的一个关于数据保存的方式content providers。 4.锻炼一下自己遇到问题,然后解决问题的能力。 1.2 课题研究的意义 随着3G技术的成熟和只能手机的不断普及,移动应用的需求yuri剧增,移动应用开发成为当下最热门的技术之一。在谷歌和安卓手机联盟的共同推动下,安卓在众多移动应用开发平台中脱颖而出。 我们都知道,无论是产品还是技术,商业应用都是它最大的发展动力。安卓如此受到厂商与开发者的青睐,他的前景是一片光明。国内对于安卓这方面的市场还没有完全开发出来。只要我们努力学习安卓,相信对以后无论是生活还是就业都大有裨益。 本文所做的主要工作如下: 开发环境及开发工具的安装及配置 阐述整个记事本的系统结构及工作原理; (1)设计实现“添加记事”,“编辑内容”和“删除当前

日历记事本课程设计报告

Java程序设计课程设计报告 XXX 日历记事本 专业XXX 学生XXX 班级XXX 学号XXX 指导教师XXX 完成日期XXX

目录 1概述 (1) 1.1 课程设计目的 (1) 1.2 课程设计容 (1) 2 系统需求分析 (1) 2.1 系统目标 (1) 2.2 主体功能 (1) 2.3开发环境 (1) 3系统概要设计 (2) 3.1 系统的功能模块划分与系统流程图 (2) 4 系统详细设计 (2) 5 测试 (4) 5.1 测试方案 (4) 5.2 测试结果 (4) 6 小结 (6) 参考文献 (7) 附录 (8) 附录1 源程序清单 (8)

日历记事本 1 概述 1.1 课程设计目的 1) 巩固和提高java编程技术。 2)培养掌握成学设计的基本思路和方法。 3)加强研发、调试程序的能力。 4)增强分析、解决问题的能力。 5)提高科技论文写作能力。 1.2 课程设计容 设计GUI界面的日历记事本。系统将日历、记事本功能结合在一起,用户可以方便地在任何日期记录下有关容或查看某个日期的记录容。 2 系统需求分析 2.1 系统目标 1.系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前日历的年份减一;当鼠标左键单击“下年”按钮,当前日历的年份加一。 2.该日历也可以在某年按月前后翻动。当鼠标左键单击“上月”按钮时,当前日历的月份减一;当鼠标左键单击“下月”按钮时,当前日历的月份加一。 3.使用鼠标左键单击选定的日期,如已有记录容,系统将弹出对话框提示该日已有记录容,并询问用户是否用记事本显示该容。 4.用户选择具体日期后,可以将记事本的当前容保存起来,形成日志。 2.2 主体功能 用户可以方便地在任何日期记录下有关容或查看某个日期的记录容。 通过按按钮“上年”和“下年”对年份进行翻页。通过按按钮“上月”和“下月”对月份进行翻页。用户可以通过输入年份来查看自己的日志。 2.3 开发环境 Windows XP;jdk1.5.0-0-05;ultraedit开发工具

JAVA简单记事本程序设计实验报告

实验10 JAVA简单记事本程序设计 实验目的 1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 1.掌握窗口、菜单等高级组件的应用。 2.掌握Java Swing的使用方法。 3.了解GUI应用程序的创建过程与方法。 实验内容 课题:学生成绩管理 1、功能要求: 编写一个简单记事本程序,要求包含以下菜单项 文件新建、打开、保存、退出 编辑剪切、拷贝、粘贴、查找 帮助关于 2、实现文件和编辑菜单里的功能

3.1 系统实施 1:界面设计 创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。 主要代码: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); menu3=new Menu("帮助"); item1=new MenuItem("新建"); item2=new MenuItem("打开"); item3=new MenuItem("保存");

item4=new MenuItem("另存为"); item5=new MenuItem("退出"); item6=new MenuItem("全选"); item7=new MenuItem("复制"); item8=new MenuItem("剪切"); item9=new MenuItem("粘贴"); item10=new MenuItem("关于"); menu1.add(item1); menu1.add(item2); menu1.add(item4); menu1.add(item5); menu2.add(item6); menu2.add(item7); menu2.add(item8); menu2.add(item9); menu3.add(item10); menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); f.setMenuBar(menubar); 2:功能设计 对每个菜单项进行注册监听。点击不同菜单项时,显示不同界面。 主要代码 item1.addActionListener(this); item2.addActionListener(this);

记事本程序设计

课程设计说明书 题目记事本程序 系(部) 计算机科学与技术专业(班级) 计算机科学与技术姓名 学号 指导教师 起止日期

课程设计任务书 课程名称:Java与面向对象程序设计 设计题目:记事本程序 已知技术参数和设计要求: 1. 问题描述(功能要求): a 使用Java的awt包或Swing包的类库设计图形界面的记事本程序 b 功能、界面设计仿照Windows的记事本程序 c 使用图形界面中的事件委托机制来处理事件响应 2.界面要求: 用户界面设计不做统一规定,但应做到界面友好,易于操作。 3. 技术要求: 要求利用面向对象的方法以及java的编程思想来完成系统的设计;在设计的过程中,建立清晰的类结构;在系统设计中要分析和定义各个类,每个类中要有各自的属性和方法;要求运用面向对象的机制来实现系统功能。 4. 课程设计报告要求: 详见《长沙学院课程设计管理规定》。 设计工作量: 40课时 工作计划: 40课时:上机、调试。计算机系机房 指导教师签名:日期: 教研室主任签名:日期: 系主任签名:日期:

长沙学院课程设计鉴定表

目录 第一章、需求分析 (1) 1.1 需求分析 (1) 1.2 功能设计 (1) 第二章、概要设计 (2) 2.1 程序设计思路 (3) 2.2 程序流程 (3) 2.2.1主序流程图 (3) 2.2.2“文件”菜单操作图 (4) 2.2.3“编辑”菜单操作图 (5) 2.2.4“格式”菜单操作图 (6) 2.2.5“帮助”菜单操作图 (7) 2.3 程序相关说明 (8) 第三章. 程序详细设计与分析 (9) 3.1 初始化组件 (9) 3.2. 创建文件菜单及文件菜单项 (9) 3.3. 创建编辑菜单及菜单项 (10) 3.4. 事件监听 (12) 3.5 异常处理 (18) 第四章.测试分析 (20) 第五章.课程设计总结 (22) 参考文献 (23) 附录 (24)

JAVA课程设计 编写一个记事本程序

Java语言程序设计B报 告 班级: 学号: 姓名: 成绩: 2012年12月

题目:编写一个记事本程序一.课程设计题目概要。 1.1课程设计目的 1.2题目设计要求 二.课程设计思路。 三.课程设计实现功能结构图。 3.1“文件”菜单。 3.2“编辑”菜单。 四.记事本实现功能代码实现。 4.1界面设计代码实现及实现截图。 4.2功能代码详细设计 4.2.1新建文件 4.2.2打开文件 4.2.3复制文件 4.2.4粘贴文件 4.2.5退出记事本 五.JAVA课程设计个人总结。 附:JAVA课程设计程序源代码

一.课程设计题目概要。 1.1课程设计目的。 按照老师要求,编写一个记事本程序,并可以实现老师要求的相关功能。在课程设计过程中,复习巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握,将课本上的理论知识和实际有机的结合起来,锻炼自己的分析解决实际问题的能力,提高自己实践编程的能力。 1.2题目设计要求。 要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。 二.课程设计思路。 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。 在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 三.课程设计实现功能结构图。 3.1“文件”菜单。

3.2“编辑”菜单。

四.记事本实现功能代码实现。 4.1.界面设计。 主要代码: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); item1=new MenuItem("新建"); item2=new MenuItem("打开"); item3=new MenuItem("保存"); item4=new MenuItem("另存为"); item5=new MenuItem("退出"); item6=new MenuItem("全选"); item7=new MenuItem("复制"); item8=new MenuItem("剪切"); item9=new MenuItem("粘贴"); menu1.add(item1); menu1.add(item2);

日历记事本设计(6个类)Java课程设计

Java语言与面向对象技术课程设计报告 ( 2013 -- 2014年度第1 学期) 日历记事本 专业软件工程 学生姓名 班级 学号 指导教师 完成日期

目录 1 概述 (1) 1.1 课程设计目的 (1) 1.2 课程设计内容 (1) 2 系统需求分析 (1) 2.1 系统目标 (1) 2.2 主体功能 (1) 2.3 开发环境 (1) 3 系统概要设计 (1) 3.1 系统的功能模块划分 (1) 3.2 系统流程图 (2) 4系统详细设计 (2) 5 测试 (5) 5.1 测试方案 (11) 5.2 测试结果 (12) 6 小结 (14) 参考文献 (15) 附录 (16) 附录1 源程序清单 (16)

日历记事本 1 概述 1.1 课程设计目的 1.学习Java程序开发的环境搭建与配置,并且在实际运用中学习和和掌握Java 程序开发的过程 2.通过课程设计进一步掌握Java程序设计语言的基础内容,如用户图形界面设计等 3.通过亲自设计,编写,调试程序来扩展知识面和动手操作能力 4.加强研发、调试程序的能力;增强分析、解决问题的能力;提高科技论文写作能力 1.2 课程设计内容 设计GUI界面的日历记事本。系统将日历、记事本功能结合在一起,用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。 2 系统需求分析 2.1 系统目标 1.系统界面的左侧是日历。该日历可以按年份前后翻动,鼠标单击“上年”按钮时,当前的日历的年份减一;当鼠标左键单击“下年”按钮,当前日历年份加一。 2.该日历也可以在某年内按月前后翻动,鼠标单击“上月”按钮时,当前的日历的月份减一;当鼠标左键单击“下月”按钮,当前日历月份加一。 3.使用鼠标左键单击选定的日期,如已有记录内容,系统将弹出对话框提示该日已有记录内容,并询问用户是否用记事本显示该内容。 2.2 主体功能 1.用户可以方便地在任何日期记录下有关内容或查看某个日期的记录内容。 2.通过按按钮“上年”和“下年”对年份进行翻页;通过按按钮“上月”和“下月”对月份进行翻页。 3.用户可以通过输入年份来查看自己的日志。 2.3 开发环境 Windows 8;jdk1.5.0-0-05;ultraedit开发工具; 3 系统概要设计 3.1 系统的功能模块划分 本日历记事本共有6个java源文件。 CalendarWindow.java

记事本程序设计

XX大学 《面向对象程序设计》课程设计报告题目简单的记事本 姓名: XX 学号: XX 专业计算机科学与技术 班级: XX 指导教师: XX 职称副教授 计算机与电子工程学院 2010年1月

课程设计评审表

课程设计作品验收表 注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。 2. “验收情况”栏由验收小组按实际验收的情况如实填写。

目录 1 课程设计过程概述 (1) 2课程设计题目描述和基本设计要求 (1) 2.1题目描述 (1) 2.2基本设计要求 (1) 3系统需求分析 (2) 3.1功能需求分析 (2) 3.2其他需求分析 (2) 4系统设计 (2) 4.1总体设计 (2) 4.3记事本典界面设计 (3) 4.4各功能模块设计 (7) 4.4.1打开模块设计 (7) 4.4.2保存模块设计 (8) 4.4.3退出模块设计 (8) 4.4.4 打印模块设计 (8) 4.4.5 复制模块设计 (9) 4.4.6 粘贴模块设计 (9) 4.4.7 剪切模块设计 (10) 4.4.8 日期模块设计 (10) 4.5 异常处理情况说明 ...........................................错误!未定义书签。5系统实现与测试 (12) 6课程设计总结 (14) 6.1遇到的问题及解决办法 (14) 6.2心得体会 (14) 参考文献 (15)

简单的记事本 1 课程设计过程概述 大二第一学期临近期末,学院对我们进行了为期两周的Java课程培训,要求我们在实验楼二楼网络机房进行了学年度课程设计。 这次课程设计的主要目的是结合面向对象程序设计课程,培养我们面向对象软件开发的思维,初步了解软件开发的一般流程,提高用Java编程的实际动手能力并增强大家对面向对象的了解。这次课程设计的主要内容是独立用Java语言开发一个小的应用程序、网络应用程序或者是管理系统。我开发了一个简单的记事本,可以实现记事本的一些常用功能。 2课程设计题目描述和基本设计要求 2.1题目描述 现在网络上各种文档编辑器数不胜数,功能也是应有尽有,又能改变字体的,又能改变字体颜色的。但是,这些软件又存在各种各样的瑕疵和问题:有的文件体积相对于一般文字编辑来说太大;有的功能太复杂,是初级使用者难以掌握。仅从日常应用方面来说,一个文本编辑器仅需一些简单实用的功能就够了。本程序就是依照这样一种使用需要设计了一个简单的记事本程序。 我设计的简单的记事本是基于Java的awt组建应用的小应用程序(Java Application),记事本界面上的按钮、菜单栏选项有文件和编辑两个菜单,其中的菜单项可以满足记事本新建文本文档,打开电脑中已有的文档,保存新建文本文件,打印文件,退出当前文件,以及文档内容的复制,粘贴,剪切,查找,全选等基本操作功能。另外,还可通过编辑菜单中的date菜单项获得本地当时时间等各项日常熟悉的功能。 2.2基本设计要求 (1)功能齐全; (2)保证文件安全,操作简捷; (3)操作方便、简单,界面友好;

相关文档
最新文档