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

本文共 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

你可能感兴趣的文章
排错 zabbix-agent 主机重启无法被监控
查看>>
win10操作系统
查看>>
Mutual Funds引起的一桩桩血案
查看>>
zabbix如何监控nginx性能
查看>>
python3的异常处理
查看>>
linux C 动态共享库编译链接
查看>>
用jdbcTempate调用存储过程,处理BLOBCLOB小记
查看>>
oracle study road
查看>>
《你必须知道的495个C语言问题》笔记
查看>>
数据中心可靠级别划分
查看>>
你真的理解什么是“财富自由”吗?
查看>>
释放LINUX内存(请使用火狐浏览器浏览本页面)
查看>>
Andrew Ng 深度学习笔记-01-week3-课程
查看>>
Android获取通过XML设置的空间的高宽
查看>>
生活的苦逼
查看>>
在iptables防火墙下开启vsftpd的端口
查看>>
Mysql、MariaDB 新型主从集群配置GTID
查看>>
Linux HA Cluster的实例演示(2)
查看>>
Delphi之word报表
查看>>
unity的默认文件目录及脚本之间的执行顺序
查看>>