博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
个人项目实验报告——记事本
阅读量:6071 次
发布时间:2019-06-20

本文共 1936 字,大约阅读时间需要 6 分钟。

                                                                                    记事本课程实验报告

一、项目简介

本次实中,我们实现了一个《记事本》软件,该软件由图形界面和事件模块部分组成。

1.主函数CalendarWindow类

(1)简要描述:

该类是整个程序的主框架,是javax.swing包中Jframe的一个子类。并实现了ActionListener、DocumentListener

(2)类详细设计:

该类的成员变量、构造方法及方法设计如下:

1) 成员变量

JMenu fileMenu, editMenu, formatMenu, viewMenu, helpMenu;

// 右键弹出菜单项

JPopupMenu popupMenu;

JMenuItem popupMenu_Undo, popupMenu_Cut, popupMenu_Copy, popupMenu_Paste,

popupMenu_Delete, popupMenu_SelectAll;

// “文件”的菜单项

JMenuItem fileMenu_New, fileMenu_Open, fileMenu_Save, fileMenu_SaveAs,

fileMenu_PageSetUp, fileMenu_Print, fileMenu_Exit;

// “编辑”的菜单项

JMenuItem editMenu_Undo, editMenu_Cut, editMenu_Copy, editMenu_Paste,

editMenu_Delete, editMenu_Find, editMenu_FindNext,

editMenu_Replace, editMenu_GoTo, editMenu_SelectAll,

editMenu_TimeDate;

// “格式”的菜单项

JCheckBoxMenuItem formatMenu_LineWrap;

JMenuItem formatMenu_Font;

// “查看”的菜单项

JCheckBoxMenuItem viewMenu_Status;

// “帮助”的菜单项

JMenuItem helpMenu_HelpTopics, helpMenu_AboutNotepad;

// “文本”编辑区域

JTextArea editArea;

// 状态栏标签

JLabel statusLabel;

// 系统剪贴板

Toolkit toolkit = Toolkit.getDefaultToolkit();

Clipboard clipBoard = toolkit.getSystemClipboard();

// 创建撤销操作管理器(与撤销操作有关)

protected UndoManager undo = new UndoManager();

protected UndoableEditListener undoHandler = new UndoHandler();

// 其他变量

String oldValue;// 存放编辑区原来的内容,用于比较文本是否有改动

boolean isNewFile = true;// 是否新文件(未保存过的)

File currentFile;// 当前文件名

2) 构造方法

l Notepad()是构造方法,负责完成窗口初始化。

3) 方法

l Notepad()方法是初始化记事本的窗口。checkMenuItemEnabled()设置菜单项中的复制、粘贴功能单击其中按钮时,窗口将执行actionPerformed(ActionEvent)方法进行相应的操作。exitWindowChoose()关闭窗口时调用 ,find()查找功能,replace()替换文本的方法,UndoHandler()实现接口UndoableEditListener的类UndoHandler(与撤销操作有关)。

二、详细代码点击地址查看:

Git 链接:https://github.com/fanqingxia/test/tree/master

三、软件测试截图:

1、进入主界面

 

2、各功能操作说明及界面截图

①实现了文件的新建、打开、保存、另存为、页面设置、打印、退出等功能

②编辑菜单下的功能

③查看菜单下的是否显示状态栏

④帮助菜单下的软件信息

三、体会心得

    通过本次实验,我既温习了以前Java所学的知识,同时也学会了把自己学会的知识与他人分享。以后我一定会继续深入学习编程,并把我学会的与大家分享,希望大家一起进步。

 

转载于:https://www.cnblogs.com/fanxiaodian/p/4464866.html

你可能感兴趣的文章
51CTO专访清无:Nginx_lua的应用及性能对比
查看>>
Python即时网络爬虫项目启动说明
查看>>
svn客户端常用命令
查看>>
Django学习笔记之——Views
查看>>
win32 下oracle 10.2.0.1.0 致命bug:ORA-27300
查看>>
学习笔记:对下拉菜单的简单封装
查看>>
纯手工打造漂亮的垂直时间轴,使用最简单的HTML+CSS+JQUERY完成100个版本更新记录......
查看>>
css/js在线压缩工具
查看>>
docker
查看>>
使用 Spring 2.5 注释驱动的 IoC 功能
查看>>
2:基本操作:全局显示/操作为漫游/选择/刷新
查看>>
在iOS下使用字体时关于字体名字的问题
查看>>
android获取软件列表
查看>>
原来fastboot boot custom.img可以无需刷机就以启动定制系统(以root)
查看>>
Android 处理调用系统相机生成的被旋转图片
查看>>
修改系统tabbar的高度
查看>>
Git 使用指南
查看>>
背景透明,文字不透明
查看>>
如何删除MYSQL表中的重复数据
查看>>
js中的replace用法
查看>>