记事本课程设计

记事本课程设计
记事本课程设计

第 1

课程设计说明

课程名称: Java 课程设计

设计题目: 记事本 专 业: 班级: 学生姓名: 学 号:

指导教师:

湖南工业大学科技学院教务部 制

年月日

一、系统设计目的:

1)设计一个简单的Windows记事本,可以实现以下功能:

1:文件的新建,打开,保存;

2:对文件的编辑,如全选,复制,剪切,粘贴;

3、工具,进行大小写的转换

4:执行完操作后,能够顺利关闭记事本;

2)通过这次设计,可以帮助学生:

1:提高对Java语言设计的掌握能力;

2:理论联系实际,进一步提高学生的软件开发技术;

3:培养学生分析、解决问题的能力。

二、系统实现思路:

设计两个类,一个mynotepad类,具有程序的要求和功能再创建一个Notepad主类,在主类中创建一个mynotepad类的对象,就可以直接在编译器中运行程序。

1:界面设计

在主界面中设计一个iFrame容器,并在其中加入一个下拉菜单和一个文本域控件。

2:功能设计

在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,进行不同的操作。

3:代码设计

编写每个控件的相关代码,并进行调试。

三、系统详细设计

1:界面设计

创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。

第 3 页

主要代码:

JMenu[] menus=new JMenu[]{

new JMenu("文件"),

new JMenu("编辑"),

new JMenu("工具"),

new JMenu("关于")

};

JMenuItem optionofmenu[][]=new JMenuItem[][]{{ new JMenuItem("新建"),

new JMenuItem("打开"),

new JMenuItem("保存"),

new JMenuItem("退出")

},

{

new JMenuItem("复制"),

new JMenuItem("剪切"),

new JMenuItem("粘贴"),

new JMenuItem("文字颜色"),

new JMenuItem("背景颜色")

},

{

new JMenuItem("大写转小写"),

new JMenuItem("小写转大写"),

},

{

new JMenuItem("关于")

}

};

void initMenu(){

for(int i=0;i

menu.add(menus[i]);

for(int j=0;j

menus[i].add(optionofmenu[i][j]);

optionofmenu[i][j].addActionListener( action );

}

}

第 5 页

this.setJMenuBar(menu);

}

2:功能设计

部分菜单项的相关代码:

新建文件

ActionListener action=new ActionListener(){ //事件

public void actionPerformed(ActionEvent e){

String name = e.getActionCommand();

JMenuItem MI=(JMenuItem)e.getSource();

if("新建".equals(name)){

content.setText("");

file=null;

}else if("打开".equals(name))

{

if(file !=null)openfile.setSelectedFile(file);

int

returnVal=openfile.showOpenDialog(mynotepad.this);

if(returnVal==JFileChooser.APPROVE_OPTION){

file=openfile.getSelectedFile();

unfold();

}

}else if("保存".equals(name))

{

if(file!=null)

openfile.setSelectedFile(file);

int

returnVal=openfile.showSaveDialog(mynotepad.this);

if(returnVal==JFileChooser.APPROVE_OPTION)

{

file=openfile.getSelectedFile();

saving();

}

}else if("退出".equals(name))

{

mynotepad f=new mynotepad();

int s=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION);

if(s==JOptionPane.YES_OPTION)

System.exit(0);

}

else if("剪切".equals(name))

{

content.cut();

}

else if("复制".equals(name))

{

第7 页

content.copy();

}

else if("粘贴".equals(name))

{

content.paste();

}else if("文字颜色".equals(name)){

color=JColorChooser.showDialog(mynotepad.this,"",color);

content.setForeground(color);

}else if("背景颜色".equals(name)){

color=JColorChooser.showDialog(mynotepad.this,"",color);

content.setBackground(color);

}

else if("大写转小写".equals(name)){

String str=content.getText();

String str1=str.toLowerCase();

content.setText(str1);

}

else if("小写转大写".equals(name)){

String str=content.getText();

String str1=str.toUpperCase();

content.setText(str1);

}

else if("关于".equals(name)){

JOptionPane.showMessageDialog(null,"程序制作:郑泽波&鲁裕浩&欧阳国胜&曾成成","关于",https://www.360docs.net/doc/0111750693.html,RMATION_MESSAGE);

}

第9 页

四、系统调试运行

1:界面调试

确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。在完成加入菜单控件后,不能缺少this.setJMenuBar(menu); 语句,将menu设为主窗体的菜单条,否则会看不到菜单栏。

如图:

2:功能调试

打开功能:

第11 页

保存功能:

五、课程设计心得

经过一个星期的我的记事本的课程设计,我在向华萍老师的指导下,顺利完成该课程设计。通过该课程设计,收获颇多。

首先,让我加深了对Java语言的理论知识的理解;

其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验;

再次,在设计过程中,学到了老师没有在课堂上没有教授的知识;

最后,加强了我对Java语言的学习兴趣和好感。

六、参考文献:

[1] 耿详义,张跃平. Java 2 实用教程. 北京:清华大学出版社,2004.2

[2] 张利国.Java实用教程案例.北京:清华大学出版社,2003.10

[3] 周晓聪,等.面向对象程序设计与Java语言.北京:机械工业出版社,

2004.3

[4] 李尊朝.Java语言程序设计.北京:中国铁道出版社,2004.2

[5] (美)Philip https://www.360docs.net/doc/0111750693.html,plate Java 2 Certification Study Guide

Fourth Edition(Java 2 证学习指南) (第四版英文版). 北京:电子工业出版社,2004.1

七、附录

程序源代码:

import java.awt.event.*;

import java.awt.*;

import java.io.*;

import https://www.360docs.net/doc/0111750693.html,ng.String;

class jsb implements ActionListener

{

Dialog bb;

String strt;

int i;

FileDialog fd;

File file;

public Frame f;

public TextArea p1;

public MenuBar menubar;

public Menu menu1,menu2,menu3;

public MenuItem

第13 页

item1,item2,item3,item4,item5,item6,item7,item8,item9,item10; jsb(String s)

{ i=0;

f=new Frame(s);

p1=new TextArea("");

f.setSize(500,500);

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("关于");

f.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{f.setVisible(false);System.exit(0);}

});

menu1.add(item1);

menu1.add(item2);

menu1.add(item3);

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);

item1.addActionListener(this);

item2.addActionListener(this);

item3.addActionListener(this);

item4.addActionListener(this);

item5.addActionListener(this);

item6.addActionListener(this);

item7.addActionListener(this);

item8.addActionListener(this);

item9.addActionListener(this);

item10.addActionListener(this);

f.setLayout(new GridLayout(1,1));

f.add(p1);f.pack();

}

public void actionPerformed(ActionEvent e) {

String ss;

ss=p1.getText().trim();

第15 页

if (e.getSource()==item5)

{

if (i==0 &&(ss.length()!=0))

{

bc();

}

else

{

System.exit(0);

}

}

if (e.getSource()==item1)

{

if (i==0&&(ss.length()!=0))

{

bc();

}

else

{

p1.setText("");i=0;f.setTitle("文件对话框"); }

}

if (e.getSource()==item2)

{

fd=new FileDialog(f,"打开文件",0);

fd.setVisible(true);

try{

file=new File(fd.getDirectory(),fd.getFile());

f.setTitle(fd.getFile()+"文件对话框");

FileReader fr=new FileReader(file); BufferedReader br=new BufferedReader(fr); String line = null;

String view = "";

while((line=br.readLine())!=null)

{

view += line+"\n";

}

p1.setText(view);

br.close();

fr.close();

}

catch(IOException expIn)

{}

}

if (e.getSource()==item3)

{

if (i==0)

{

bc();

}

else

{

try{

file=new File(fd.getDirectory(),fd.getFile());

f.setTitle(fd.getFile()+"--记事本");

FileWriter fw=new FileWriter(file); BufferedWriter bw=new BufferedWriter(fw);

第17 页

String s =p1.getText();

s = s.replaceAll("\n","\r\n");

bw.write(s);

bw.flush();

bw.close();

fw.close();

i=1;

}

catch(IOException expOut){i=0;}

}

}

if (e.getSource()==item4)

{

bc();

}

if (e.getSource()==item10)

{

bb=new Dialog(f,"关于");

Label l1=new Label("本记事本的完成感谢老师和同学的帮助!!"); bb.add(l1);

bb.setSize(250,150);

bb.setBackground(Color.white);

bb.show();

bb.addWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{bb.setVisible(false);bb.dispose();}

});

}

if (e.getSource()==item6)

{

p1.setSelectionStart(0);

p1.setSelectionEnd(p1.getText().length());

}

if (e.getSource()==item7)

{

try{

String str=p1.getSelectedText();

if(str.length()!=0)

{

strt=str;

}

}catch(Exception ex)

{

}

}

if (e.getSource()==item8)

{

try{

String str=p1.getSelectedText();

if(str.length()!=0)

{

p1.replaceRange("",p1.getSelectionStart(),p1.getSelectionEnd()); }

第19 页

catch(Exception ex)

{

}

}

if (e.getSource()==item9)

{

if(strt.length()>0)

{

p1.insert(strt,p1.getCaretPosition());

}

}

}

public void bc()

{

fd=new FileDialog(f,"保存文件",1);

fd.setVisible(true);

try{

file=new File(fd.getDirectory(),fd.getFile());

f.setTitle(fd.getFile()+"--记事本");

FileWriter fw=new FileWriter(file); BufferedWriter bw=new BufferedWriter(fw); String s =p1.getText();

s = s.replaceAll("\n","\r\n");

bw.write(s);

bw.flush();

bw.close();

fw.close();

i=1;

重庆科技学院_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记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

通讯录管理系统课程设计报告书C语言

二〇〇八~ 二〇〇九学年第二学期 信息科学与工程学院 课程设计报告书 课程名称: C语言课程设计 班级:

学号: 姓名: 指导老师: 月九年二〇〇九 通讯录管理系统 一.需求分析 设计题目及要求: ◆建立通讯录信息,信息至少包含编号、姓名、年龄、电话、通讯地址、电子邮箱等; ◆能够提供添加、删除和修改通讯录信息的功能; ◆能够提供安不同方式查询的功能;如按姓名或年龄、电话等查询; ◆将通讯录保存在文件中; ◆能够按表格方式输出通讯录信息。 系统功能需求分析: 主要包含一下多种功能: 添加:添加通讯录记录 显示:显示通讯录记录 删除:删除通讯录记录 查询:查询通讯录记录 修改:修改通讯录记录 保存:将信息保存到文件 二.概要设计 系统功能模块图:

添加:可以添加通讯录记录,依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱后,会提示是否继续添加。. 显示:可以以表格形式输出所有通讯录里的记录 删除:输入欲删除的那个人的名字后,会自动删除他(她)的记录内容 查询:可以选择用姓名、电话、地址三种方式查询 修改:输入欲修改的那个人的名字后,再依次输入编号、姓名、年龄、电话号码、通讯地址、电子邮箱即可完成修改 保存:,输入文件名(带后缀名)后,即可将通讯录信息保存到文件 三.详细设计 (1).通讯录: typedef struct { char score; /*编号*/ char name[10]; /*姓名*/ char num[15]; /*号码*/ char email[20]; /*邮箱*/ char age[8]; /*年龄*/ char adds[20]; /*住址*/ }Person; void main() /*主函数*/ { int n=0; for(;;) { switch(menu_select())

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.使用如下拓展包

C记事本课程设计

C记事本课程设计 Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#

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

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

第二章设计过程 (4) 设计框 图 (4) 设计步 骤 (4) 建立工程 (4) 向对话框添加控件 (4) 添加变量 (5) 编程 (5) 调试运行 (5) 设计结 论 (7) 参考文献 (7) 附件(程序) (8) 第一章概述

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

系统分析设计安卓通讯录课程设计

2015-2016学年第1学期《系统分析与设计》课程设计 项目名称:基于安卓系统的手机通讯录 指导教师:王娟 班级:13级Java1班 学生名单:

第一章项目介绍 选题:鉴于本次课程设计的目的是通过一些实际的例子,培养学生分析和解决实际问题的能力,培养学生综合应用基本概念、基本原理和技术方法的能力,真正做到学以致用,使课本上抽象的理论、方法与具体的实践应用相结合,所以我们组选择了安卓通讯录这个课题。 背景:Android本意词是指“机器人”,同时也是Goole于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,Android是一种基于Linux 的自由及开放源代码的操作系统,Android以其自由开放源代码的特点而成为最热门的智能手机。 在这个信息化的时代,手机已成为继固话之后最为通俗的交流工具,“通讯”成了生活的必需品,这就有了系统下人与人之间的多样联系方式——手机通讯录。传统通讯录以纸张为载体,将需要记录的联系人一一人登记在册,包括地址、联系方式等,再在需要时进行翻阅查询。手机通讯录,在手机系统下,占用手机相对很小的空间,系统的记录联系人的联系方式及其他信息,不仅突破了各种条件的舒服,减轻了机主的负担,更方便了使用者的通讯。 综上所述,手机通讯录管理系统是一个高效、实时、绿色环保的管理系统。然而现在很多通讯录外观花哨、功能单一或形同虚设。针对以上各种弊端,我们通过需求分析等着手设计一款简单方便的通讯录。 项目:本项目的设计工作如下:选题、分组、任务划分,需求建模(需求基本描述,用例图和用例描述),系统分析(查找分析类,序列图和活动图),系统设计(功能设计——程序流程图,数据库设计,界面设计——原型图)。本项目使用eclipse开发平台,并连接使用SQlite数据库编写。分为后台数据库的建立和维护,以及前端应用程序的开发两个部分,主要包括添加、删除、修改联系人姓名、电话、住址等。 组员分工: 需求分析(用例描述):杨赓 系统分析(时序图、协作图、类图):张坤鹏郑四林王文凯王浩 系统设计(数据库、界面设计):王浩 整理总结:王浩

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;

记事本课程设计

第 1 页 课程设计说明 课程名称: Java 课程设计 设计题目: 记事本 专 业: 班级: 学生姓名: 学 号: 指导教师: 湖南工业大学科技学院教务部 制

年月日 一、系统设计目的: 1)设计一个简单的Windows记事本,可以实现以下功能: 1:文件的新建,打开,保存; 2:对文件的编辑,如全选,复制,剪切,粘贴; 3、工具,进行大小写的转换 4:执行完操作后,能够顺利关闭记事本; 2)通过这次设计,可以帮助学生: 1:提高对Java语言设计的掌握能力; 2:理论联系实际,进一步提高学生的软件开发技术; 3:培养学生分析、解决问题的能力。 二、系统实现思路: 设计两个类,一个mynotepad类,具有程序的要求和功能再创建一个Notepad主类,在主类中创建一个mynotepad类的对象,就可以直接在编译器中运行程序。 1:界面设计 在主界面中设计一个iFrame容器,并在其中加入一个下拉菜单和一个文本域控件。 2:功能设计 在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,进行不同的操作。 3:代码设计 编写每个控件的相关代码,并进行调试。

三、系统详细设计 1:界面设计 创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。 第 3 页

主要代码: JMenu[] menus=new JMenu[]{ new JMenu("文件"), new JMenu("编辑"), new JMenu("工具"), new JMenu("关于") }; JMenuItem optionofmenu[][]=new JMenuItem[][]{{ new JMenuItem("新建"), new JMenuItem("打开"), new JMenuItem("保存"), new JMenuItem("退出") },

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

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

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

课程设计—java记事本

import javax.swing.*; import javax.swing.undo.*; import javax.swing.text.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; import java.awt.datatransfer.*; import java.awt.print.*; import java.io.*; public class Jishiben extends JFrame implements ActionListener { JPopupMenu pm ; JTextArea ta; boolean isNewFile=true; //是否新文件(未保存过的) File currentFile; //当前文件名 String oldValue; //存放编辑区原来的内容,用于比较文本是否有改动//protected UndoManager undo = new UndoManager(); //protected UndoableEditListener undoHandler = new UndoHandler(); JToolBar tbar = new JToolBar(); JCheckBoxMenuItem mt19; public Jishiben() { super("记事本"); //Container ct=getContentPane(); //以下三句是设置编辑区域及滚动条 ta = new JTextArea(); JScrollPane sp = new JScrollPane(ta); add(sp); JMenuBar mb = new JMenuBar(); //设置文件菜单 JMenu mu1 = new JMenu("文件(F)",true); mu1.setMnemonic('F');//设置快捷键按下ALT+F激活打开菜单 JMenuItem mt1 = new JMenuItem("新建(N)",'N'); mt1.setMnemonic('N'); //mt1.addActionListener(new new1()); JMenuItem mt2 = new JMenuItem("打开(O)...",'O'); mt2.setMnemonic('O'); mt2.addActionListener(this); JMenuItem mt3 = new JMenuItem("保存(S)",'S'); //mt3.addActionListener(new save()); mu1.add(mt3); JMenuItem mt4 = new JMenuItem("另存为(A)..."); JMenuItem mt5 = new JMenuItem("页面设置(A)..."); JMenuItem mt6 = new JMenuItem("打印(P)..."); JMenuItem mt7 = new JMenuItem("退出(X)",'X');

java课程设计(通讯录管理系统)

合肥学院 计算机科学与技术系 课程设计报告 2013~2014学年第二学期 课程面向对象课程设计 课程设计名称通讯录程序 学生姓名XXX 学号 专业班级XXXXX 指导教师XXX 20 年月

目录 一、设计题目 (1) 二、设计要求 (1) 三、总体设计 (1) 3.1系统功能框架 (1) 3.2系统功能说明 (3) 四、详细设计 (3) 1.数据结构设计 (3) 2.系统模块设计 (10) 五、运行结果 (13) 一.设计题目 随着社会的进步与发展,通讯越来越密切。希望能通过对java课程设计的学习和掌握来编写一个通讯录管理系统。 二.设计要求 (1)只能使用Java语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。 (2)程序必须与数据库进行通信。

(3)系统必须是图形用户界面的形式并连接数据库 三. 总体设计 3.1 3.2 系统功能说明 (1)具有新用户注册功能。 (2)具有注册用户登录功能。 (3)具有数据的录入功能。 (4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。(5)具有按条件删除数据功能。

(6)具有统计功能 4. 详细设计 4.1数据结构设计(java程序设计) //登录系统 package com.ibm.etp.addressbook.action; import java.util.HashMap; import java.util.List; import https://www.360docs.net/doc/0111750693.html,er; import com.ibm.etp.addressbook.service.LoginService; import com.opensymphony.xwork2.ActionSupport; public class LoginAction extends ActionSupport { private static final long serialVersionUID = 1L; public String username; public String password; private String message; @Override public String execute() throws Exception { HashMap result = new HashMap(); List list = null; System.out.println(username); if(username == null || username.trim().length() == 0) { result.put("success", false); result.put("msg", "https://www.360docs.net/doc/0111750693.html,ername.empty"); } else if(password == null || password.trim().length() == 0) { result.put("success", false); result.put("msg", "login.password.empty"); } else { LoginService ls = new LoginService(); list = ls.checkLogin(username); } if(list == null) { result.put("success", false); result.put("msg", "https://www.360docs.net/doc/0111750693.html,er.not.exist"); } else if(list.get(0).getPassword().equals(password)) { result.put("success", true); result.put("msg", "login.success"); } else {

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

日历记事本 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 主类

安卓课程设计_手机通讯录系统全解

目录 1前言 (1) 2系统的需求分析 (2) 2.1需求分析 (2) 2.1.1基本功能需求 (2) 2.1.2系统用例分析 (2) 2.2总体设计方案 (5) 2.2.1系统模块关系与划分 (5) 3系统的概要设计 (6) 3.1通讯录需求分析 (6) 3.1.1新建、编辑联系人 (6) 3.1.2查找联系人 (6) 3.1.3通讯功能 (6) 3.1.4个人中心 (7) 3.1.5还原与备份功能 (7) 3.2系统界面设计 (8) 4系统编码实现 (14) 前言

随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此与2007年11月推出了一个专为移动设备设计的软件平台——Android。 Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。 Android(Google公司)是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。 (1)优点:具备触摸屏、高级图形显示和上网功能,界面强大,可以说是一种 融入全部Web应用的单一平台 (2)缺点:由于时时刻刻都需要和网络进行连接,因此在手机的能耗方面控制就较差, 导致待机能力不足;又由于其开源性,过分依赖开发商,缺少标准配置。 1.1需求分析 1.1.1基本功能需求

手机通讯录安卓课程设计

湖南科技大学计算机科学与工程学院 智能终端系统及应用开发课程设计报告 题目:手机通讯录 学号:******** 班级:******** 姓名:******** 指导老师:********

绪论 随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。 手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能使用调查显示,有9成以上的消费者使用手机通讯录功能。随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展[4]。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层人士的喜爱。

一、课程设计目的 智能终端系统及应用开发课程设计是计算机相关专业的一个综合性实践教学环节,是学 习完《智能终端系统及应用开发》课程后进行的一次全面的综合练习。其目的在于促进学生 复习和巩固 Android 应用技术,加深对软件设计方法、软件设计技术和设计思想的理解,并 能运用所学 Android 设计知识,通过本课程设计让学生进行简单 Android 应用软件的开发,掌握软件设计的方法和面向对象程序设计的基本技术,提高学生在软件开发方面的综合应用能力。 二、课程设计内容 通过对Android 技术的相关研究,了解Android 源码实现原理以及过程,从而设计出一款能够使用的手机通讯录。 这款手机通讯录实现的相关内容如下: 1.简洁、实用的操作界面。 2.显示所有联系人的列表。 3.增加联系人。 4.删除联系人。 5.修改联系人。 6.呼叫联系人。 7.发送短信、邮件至联系人。 三、系统设计 功能结构图 Android 手机通讯管理软件 联系人添加 联系人编辑 联系人查看 联系人查找 联系人删除 呼叫联系人 发送短信 联系人列表

【精品】设计一个电子通讯录程序课程设计

长沙学院 课程设计说明书 题目设计一个电子通讯录程序系(部) 计算机科学与技术系 专业(班级) 姓名 学号 指导教师 起止日期2010年1月4日到2010年1 月8日 - 0 -

程序设计基础课程设计任务书 一、题目:设计一个电子通讯录程序 二、目的与要求 1.目的: (1)使学生更加系统地理解和掌握C++语言的基本概念、语言特点和编程技巧。 (2)使学生应用C++语言在程序设计方面得到系统锻炼,为将来VC进行软件开发打下良好基础。 (3)提高学生建立程序文档、归纳总结的能力。 2.基本要求: (1)要求用C++模块化设计的思想来完成程序的设计; (2)培养上机动手能力,巩固分支结构和循环结构,应用函数和数据结构的知识。 (3)在VC++6.0环境中,学会调试程序的方法,及时查究错误,独立调试完成。 (4)程序调试通过后,完成程序文档的整理,加必要的注释。 3.创新要求 在基本达到题目要求外,进行创新设计,如界面优美、功能更加完善(如增加按生日先后排序的功能),用不同的cpp文件来实现等。 4.书写设计报告的要求 设计报告中包含以下几个方面: 1、设计题目

2、总体设计 1)用自顶而下或自底而上的方法,划分功能模块。 2)确定各模块的算法 3、根据算法画出流程图 4、列出程序清单,并加以必要的注释 5、写出调试程序的方法 6、指出所设计问题的不足和改进方案 5.课程设计材料的装订顺序为: 1)设计说明书封面 2)课程设计任务书 3)课程设计鉴定表 4)目录 5)设计报告书正文 三、设计内容及其基本原理和设计方法 1.问题描述: 电子通讯录功能如下:1.Read 2.Append 3.Delete 4.Search 5.Isert。

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中记事本的功能。要求打开文件,读取文件中

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语言的基础上开发的一种集面向对象编程、泛型编程和过程化编程于一体的编程语言。应用较为广泛,是一种静态数据类型检查的,支持多重编程的通用程序设计语言。它支持过程化程序设计,数据抽象,面向对象设计,制作图标等多种程序设计风格。

通讯录管理系统课程设计报告

设计课题题目 一、课程设计目的与要求 1.课程设计目的 (1)综合运用之前所学知识(选择控制,循环控制,数组,函数,指针,结构体和文件等)来完成一个简单的信息管理程序的设计。 (2)充分体现和体会函数在程序设计中的必要性和实用性,并反映主函数main()在程序设计中的实现思路和方法。 2. 课程设计要求 制作一个通讯录系统。 (1)该程序具有查找、添加、修改、删除功能。 (2)通讯录包括:、、街道、城市、省、邮编等。 二、总体设计 根据系统的要求,系统总体设计如图1所示。

三、详细设计 1、数据结构设计 #include /*标准输入输出函数库*/ #include /*标准函数库*/ #include /*字符串函数库*/ #define FILENAME "phone.dat" struct date //定义一个结构体类型数组 { char name[10]; /**/ char phone[12]; /**/ char email[20]; /**/ char QQ[20]; /*QQ*/ } per[10]; int menu() //主菜单选择函数 2.函数说明 (1) 主函数 main()允许用户通过菜单进行功能选择,使用相应的功能代码来调用对应的函数功能。 (2)

四、程序清单 1、头文件 #include /*标准输入输出函数库*/ #include /*标准函数库*/ #include /*字符串函数库*/ #define FILENAME "phone.dat" 2、主函数 void main() //主函数 { int n=0,i; while(1) { switch (menu()) { case 1: { printf("\n\t 通讯信息录入\n"); //信息录入 n=Input(per, n); } break; case 2: printf("\n\t\t\t 通讯录记录表\n"); //显示记录 Display(per,n); break; case 3: printf("\n\t保存功能\n"); WritetoText(per,n); //保存数据 printf("\t"); system("pause"); //操作完成后进行暂停 break; case 4: printf("\n\t从通讯录中删除记录\n"); n=Delete_a_record(per,n); //删除记录 printf("\t"); system("pause");

相关文档
最新文档