基于java的记事本程序课程设计(含源文件) 下载本文

内容发布更新时间 : 2024/12/25 16:52:06星期一 下面是文章的全部内容请认真阅读。

1 问题描述

设计一个具有GUI界面的记事本,含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、设置字体和颜色等功能。

这次课程设计由**、**和我三个人合作完成。**主要负责3概要设计和5测试分析。**4.1GUI程序界面设计,我负责4. 2JM4类的实现。由于4.3事件处理和撰写程序关系密切,这两项都由**负责。

2 需求分析

本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面:

(1)、菜单中有“文件”、“编辑”、“格式”、“帮助”四个主菜单; (2)、“文件”有“新建”、“打开”、“保存”、“另存为”、“退出”分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。

(3)、“编辑”有“剪切”、“复制”、“粘贴”三个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字。

(4)、“格式”中,有“字体”、“颜色”两个子菜单:用于设置文字的字体而和颜色,字体有“宋体”、“楷体”、“黑体”颜色有“红”、“蓝”、“绿”。

(5)、“帮助”菜单中有“关于”的子菜单,用于描述记事本程序的相关信息。 (6)、还有弹出菜单也能实现“剪切”、“复制”、“粘贴”三个子菜单的功能。

3 概要设计

3.1自定义类说明

3.1.1 类名: JM (1)作用: 主类

(2)继承的父类: JFrame类 (3)成员变量说明:

JMenuBar mb=new JMenuBar(); //定义一个菜单项 /******定义各个菜单及其菜单项******/

JMenu m1=new JMenu(\文件(F)\ JMenuItem n=new JMenuItem(\新建\

JMenuItem open=new JMenuItem(\打开(O)... Ctrl+O\ JMenuItem save=new JMenuItem(\保存(S)... Ctrl+S\ JMenuItem save_as=new JMenuItem(\另存为(A)...Ctrl+A\ JMenuItem exit=new JMenuItem(\退出\

JMenu m2=new JMenu(\编辑(E)\

JMenuItem copy=new JMenuItem(\复制(C) Ctrl+C\ JMenuItem cut=new JMenuItem(\剪切(X) Ctrl+X\ JMenuItem paste=new JMenuItem(\粘贴(P) Ctrl+P\

JMenu m3=new JMenu(\格式(O)\ JMenu f1=new JMenu(\字体(F)\ JMenuItem i11=new JMenuItem(\宋体\ JMenuItem i12=new JMenuItem(\楷体\ JMenuItem i13=new JMenuItem(\黑体\ JMenu color=new JMenu(\颜色(C)\ JMenuItem i21=new JMenuItem(\红\ JMenuItem i22=new JMenuItem(\蓝\ JMenuItem i23=new JMenuItem(\绿\

JMenu m4=new JMenu(\帮助(H)\ JMenuItem about=new JMenuItem(\关于\/*****定义弹出菜单及其菜单项*****/ JPopupMenu pm=new JPopupMenu(); JMenuItem item1=new JMenuItem(\复制\ JMenuItem item2=new JMenuItem(\剪切\ JMenuItem item3=new JMenuItem(\粘贴\/***********编辑区**********/ String s;

Container c;

JTextArea editor=new JTextArea(s);

(4)主要方法说明:

JM( )方法创建一个窗口并设置窗口的相应参数,以及把各个项目加到窗上 private void addJMenuBar( )方法把各个菜单添加到菜单棒上 private void addFileMenu( ) private void addEditMenu( ) private void addFormMenu( ) private void addHelpMenu( ) private void

addJPopupMenu( )各个方法则把相应的菜单项添加到各自的“文件”、“编辑”、

“格式”、“帮助”菜单上,及弹出菜单上 3.1.2 类名: JM4 (1)作用: 主类

(2)继承的父类: JM类 (3)主要成员方法说明:

编辑区键盘事件:KeyListener类 如果记事本的编辑区内用键盘输入了字符,就能够被程序监听;

editor.addKeyListener( new KeyAdapter() {public void keyTyped(KeyEvent e){flag=1;}});

窗口的事件监听:windowListener类;

class windowListener extends WindowAdapter {

public void windowClosing(WindowEvent e)

{

if(flag==0)System.exit(0); else close();

} }

菜单项的事件监听:ActionListener类;

public void actionPerformed(ActionEvent e) {

Font f2=editor.getFont();

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

…… }

3.2 程序流程图

3.2.1主流程图

开始

新 建打开保存另存为复制剪切粘贴字体颜色输入文字? N Y 关于

结束 退出

图3.1主流程图

3.2.2 “文件”菜单操作流程图 开始 N “文件”菜单 新建打开保存另存为 用JFileChooser()选择所有打开文件路径 文件是否修改 用JFileChooser()选择文件另存的路径 Y 用loadFile()读取所选的文件内容到记事本 用close2()选择 用saveFlie()保存文件 用saveFile()保存文件 新文件 原文件 用close()关闭文件 退出或关闭 N 文件是否修改 Y 用saveFlie()保存文件 结束 图3.2 “文件”菜单操作流程图