




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA 课程设计 记事本设计 1 JavaJava 程序设计程序设计 课程设计报告课程设计报告 题目题目 记事本程序设计记事本程序设计 专专 业业 信息管理与信息系统 班班 级级 学学 号号 200981020132 姓姓 名名 朱彬峰 成成 绩绩 完成时间完成时间 2011 年 12 月 JAVA 课程设计 记事本设计 2 目录目录 第一章 需求分析第一章 需求分析 3 3 1 1 需求分析 3 1 2 功能设计 3 第二章 第二章 概要设计概要设计 4 4 2 1 程序设计思路 4 2 2 模块说明图 4 2 3 程序流程 5 2 4 程序相关说明 5 2 5 程序运行界 6 第三章第三章 程序详细设计与分析程序详细设计与分析 6 6 3 1 初始化组件 6 3 2 构建菜单栏及其下拉菜单 8 3 3 创建右键弹出菜单 13 3 4 创建工具栏 15 第四章 使用说明第四章 使用说明 1717 第五章 测试分析第五章 测试分析 1818 第六章 课程设计总结第六章 课程设计总结 1919 第七章 参考文献第七章 参考文献 2020 JAVA 课程设计 记事本设计 3 记事本程序的设计记事本程序的设计 摘要摘要 该报告中的程序是使用Java语言编写 能够进行输入文字操作 并具有新 建文件 打开文件 保存文件 退出 复制 粘贴 剪切 查找 帮助等功能 该 程序主要用到了Java swing和事件监听等 关键字 记事本 Java语言 第一章 需求分析第一章 需求分析 1 11 1 需求分析需求分析 现在网络上各种文档编辑器数不胜数 有EmEditor UEStudio GridinSoft Notepad Notepad win32pad SkimEdit UniRed xint 功能也是应有尽 有 有能改变字体的 有能改变文字颜色的 但是 这些软件又存在各种各样的瑕 疵或问题 有的文件体积相对于一般文字编辑来说太大 有的功能太繁杂 使初级 使用者一时难以掌握 仅从日常应用方面来说 一个文本编辑器只需一些简单实用 的功能就够了 本程序设计就是依照这样一种使用需要设计了一个的记事本程序 基本能够满足大多数人的日常功能需求 1 21 2 功能设计功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具 其功能有 以下几个方面 1 菜单中有 文件 编辑 格式 查看 关于 五个主菜单 2 文件 有 新建 打开 保存 退出 另存为 打印 6 个子菜单 分别用于新 建文件 打开文件 保存文件 退出记事本 3 编辑 中有 撤销 剪切 复制 粘贴 删除 查找 查找下一 个 替换 转到 全选 时间 日期 11 个字菜单 用于剪切文字 复制 文字 粘贴文字等编辑操作 4 格式 菜单中有 自动换行 字体 颜色 等子菜单 5 查看 菜单中有 状态栏 子菜单 6 帮助 菜单中有 帮助主题 和 关于 子菜单 JAVA 课程设计 记事本设计 4 第二章 第二章 概要设计概要设计 2 12 1 程序设计思路程序设计思路 在本程序中 设计了一个菜单栏和文本内容区 设计过程中用到了 JTextArea JMenuBar JPanel 等 JMenuBar用来制作菜单 菜单包括 文件 编辑 格式 查看 帮助 JTextArea主要用来输入文本 为了加入颜色 的设置 所以加了一个JColorChooser组件 2 22 2 模块说明图模块说明图 在图中 首先创建一个名为Notepad4的类并继承JFrame类作为最底层的容器 Notepad4 implements extends ActionListener JFrame Notepad4 的 构造方法 初始化容器 组件 添加事件监 听 菜单栏 文字输入区 文件编辑格式 初始化初始化 查看帮助 状态栏 时间和状态显 示 JAVA 课程设计 记事本设计 5 在图中 构造一个Notepad4类时要做三件事情 分别是初始化容器 initTextContent 初始化组件 initMenu initAboutDialog 设置事件监听 器 2 32 3 程序流程程序流程 False False true true true true true 2 42 4 程序相关说明程序相关说明 整个记事本分为 3 块 菜单栏 内容输入区和状态栏 本程序中首先定义一个 Notepad4 类继承 JFrame 作为最底层容器 1 JTextArea Text 为程序文本输入区 启动程序 输入文字 文 件 编 辑 格 式 查 看 帮 助 fmFile mEdit mMode mView mHelp 关闭或退出程序 JAVA 课程设计 记事本设计 6 2 JMenuBar MenuBar为菜单栏 3 JPanel toolBar为工具栏 4 class MyFont implements ActionListener要想记事本完成需求分 析中相应的功能 还必须添加事件监听器 事件监听器不仅要添加在菜单栏和内容 输入区 还需加在容器中 本程序中DocumentListener实现了 ActionListener 接 口 用来监听并处理所有菜单项和内容输入区为事件源的事件 另外 还用来ListSelectionListener 和 ActionListener来监听处理容器关 闭触发的事件 2 52 5 程序运行界程序运行界 第三章第三章 程序详细设计与分析程序详细设计与分析 3 1 3 1 初始化组件初始化组件 public class Notepad4 extends JFrame implements ActionListener DocumentListener JMenu mFile mEdit mMode mView mHelp 文件菜单 JMenuItem mFile New mFile Open mFile Save mFile ASave mFile Print mFile Exit 编辑菜单 JMenuItem mEdit Undo mEdit Cut mEdit Copy mEdit Paste mEdit Del mEdit Search mEdit SearchNext mEdit Replace mEdit Turnto JAVA 课程设计 记事本设计 7 mEdit SelectAll mEdit TimeDate 格式菜单 JCheckBoxMenuItem formatMenu LineWrap JMenu formatMenu Color JMenuItem formatMenu Font formatMenu Color FgColor formatMenu Color BgColor 查看菜单 JCheckBoxMenuItem viewMenu Status 帮助菜单 JMenuItem mHelp HelpTopics mHelp About 弹出菜单级菜单项 JPopupMenu popupMenu JMenuItem popupMenu Undo popupMenu Cut popupMenu Copy popupMenu Paste popupMenu Delete popupMenu SelectAll 文本编辑区域 static JTextArea Text 状态栏标签 JLabel statusLabel1 statusLabel2 statusLabel3 JToolBar statusBar 系统剪贴板 Toolkit toolKit Toolkit getDefaultToolkit Clipboard clipBoard toolKit getSystemClipboard 创建撤消操作管理器 protected UndoManager undo new UndoManager protected UndoableEditListener undoHandler new UndoHandler 其它变量 boolean isNewFile true 是否新文件 未保存过的 File currentFile 当前文件名 String oldValue 存放编辑区原来的内容 用于比较文本是否有改动 JButton fontOkButton 字体设置里的 确定 按钮 JAVA 课程设计 记事本设计 8 设置编辑区默认字体 protected Font defaultFont new Font 宋体 Font PLAIN 12 GregorianCalendar time new GregorianCalendar int hour time get Calendar HOUR OF DAY int min time get Calendar MINUTE int second time get Calendar SECOND File saveFileName null fileName null 3 2 3 2 构建菜单栏及其下拉菜单构建菜单栏及其下拉菜单 public Notepad4 super VXBB 的记事本 setDefaultCloseOperation DO NOTHING ON CLOSE Container container getContentPane System out println Text getDragEnabled 支持自动拖放 JScrollPane scroll new JScrollPane Text scroll setHorizontalScrollBarPolicy JScrollPane HORIZONTAL SCROLLBAR ALWAYS scroll setVerticalScrollBarPolicy JScrollPane VERTICAL SCROLLBAR ALWAYS Text setWrapStyleWord true 设置单词在一行不足容纳时换行 Text setLineWrap true Text setFont defaultFont 设置编辑区默认字体 Text setBackground Color white 设置编辑区默认背景色 Text setForeground Color black 设置编辑区默认前景色 oldValue Text getText 获取原文本编辑区的内容 编辑区注册事件监听 Text getDocument addUndoableEditListener undoHandler 添加负责通知任何更改 的撤消侦听器 Text getDocument addDocumentListener this 添加负责通知任何更改的文档侦听器 JMenuBar MenuBar new JMenuBar mFile new JMenu 文件 F true 创建菜单 mEdit new JMenu 编辑 E true JAVA 课程设计 记事本设计 9 mMode new JMenu 格式 O true mView new JMenu 查看 V true mHelp new JMenu 帮助 H true mEdit addActionListener new ActionListener 注册事件监听 public void actionPerformed ActionEvent e checkMenuItemEnabled 设置剪切 复制 粘贴 删除等功能的可用性 mFile setMnemonic F mEdit setMnemonic E mMode setMnemonic O mView setMnemonic V mHelp setMnemonic H MenuBar add mFile MenuBar add mEdit MenuBar add mMode MenuBar add mView MenuBar add mHelp 文件菜单 mFile New new JMenuItem 新建 N N mFile Open new JMenuItem 打开 O O mFile Save new JMenuItem 保存 S S mFile ASave new JMenuItem 另存为 A A mFile Print new JMenuItem 打印 P P mFile Exit new JMenuItem 退出 X X mFile New setAccelerator KeyStroke getKeyStroke KeyEvent VK N InputEvent CTRL MASK mFile Open setAccelerator KeyStroke getKeyStroke KeyEvent VK O InputEvent CTRL MASK mFile Save setAccelerator KeyStroke getKeyStroke KeyEvent VK S JAVA 课程设计 记事本设计 10 InputEvent CTRL MASK mFile Print setAccelerator KeyStroke getKeyStroke KeyEvent VK P InputEvent CTRL MASK mFile New addActionListener this 注册事件监听 mFile Open addActionListener this mFile Save addActionListener this mFile ASave addActionListener this mFile Print addActionListener this mFile Exit addActionListener this mFile add mFile New 添加菜单项 mFile add mFile Open mFile add mFile Save mFile add mFile ASave mFile addSeparator 添加分割线 mFile add mFile Print mFile addSeparator 添加分割线 mFile add mFile Exit 编辑菜单 mEdit Undo new JMenuItem 撤消 U U mEdit Cut new JMenuItem 剪切 T T mEdit Copy new JMenuItem 复制 C C mEdit Paste new JMenuItem 粘贴 P P mEdit Del new JMenuItem 删除 L L mEdit Search new JMenuItem 查找 F F mEdit SearchNext new JMenuItem 查找下一个 N N mEdit Replace new JMenuItem 替换 R R mEdit Turnto new JMenuItem 转到 G G mEdit SelectAll new JMenuItem 全选 A A mEdit TimeDate new JMenuItem 时间 日期 D D mEdit Cut setEnabled false JAVA 课程设计 记事本设计 11 mEdit Undo setAccelerator KeyStroke getKeyStroke KeyEvent VK Z InputEvent CTRL MASK mEdit Cut setAccelerator KeyStroke getKeyStroke KeyEvent VK X InputEvent CTRL MASK mEdit Copy setAccelerator KeyStroke getKeyStroke KeyEvent VK C InputEvent CTRL MASK mEdit Paste setAccelerator KeyStroke getKeyStroke KeyEvent VK V InputEvent CTRL MASK mEdit Del setAccelerator KeyStroke getKeyStroke KeyEvent VK DELETE 0 mEdit Search setAccelerator KeyStroke getKeyStroke KeyEvent VK F InputEvent CTRL MASK mEdit SearchNext setAccelerator KeyStroke getKeyStroke KeyEvent VK F3 0 mEdit Replace setAccelerator KeyStroke getKeyStroke KeyEvent VK H InputEvent CTRL MASK mEdit Turnto setAccelerator KeyStroke getKeyStroke KeyEvent VK G InputEvent CTRL MASK mEdit SelectAll setAccelerator KeyStroke getKeyStroke KeyEvent VK A InputEvent CTRL MASK mEdit TimeDate setAccelerator KeyStroke getKeyStroke KeyEvent VK F5 0 mEdit Undo addActionListener this 注册事件监听 mEdit Cut addActionListener this mEdit Copy addActionListener this mEdit Paste addActionListener this mEdit Del addActionListener this mEdit Search addActionListener this mEdit SearchNext addActionListener this mEdit Replace addActionListener this mEdit Turnto addActionListener this mEdit SelectAll addActionListener this JAVA 课程设计 记事本设计 12 mEdit TimeDate addActionListener this mEdit add mEdit Undo 添加菜单项 mEdit addSeparator 添加分割线 mEdit add mEdit Cut mEdit add mEdit Copy mEdit add mEdit Paste mEdit add mEdit Del mEdit addSeparator mEdit add mEdit Search mEdit add mEdit SearchNext mEdit add mEdit Replace mEdit add mEdit Turnto mEdit addSeparator mEdit add mEdit SelectAll mEdit add mEdit TimeDate 格式菜单 formatMenu LineWrap new JCheckBoxMenuItem 自动换行 W formatMenu LineWrap setMnemonic W formatMenu LineWrap setState true formatMenu Font new JMenuItem 字体 F F formatMenu Color new JMenu 颜色 formatMenu Color FgColor new JMenuItem 字体颜色 formatMenu Color BgColor new JMenuItem 背景颜色 formatMenu LineWrap addActionListener this 注册事件监听 formatMenu Font addActionListener this formatMenu Color FgColor addActionListener this formatMenu Color BgColor addActionListener this mMode add formatMenu LineWrap 添加菜单项 mMode addSeparator mMode add formatMenu Font mMode add formatMenu Color JAVA 课程设计 记事本设计 13 formatMenu Color add formatMenu Color FgColor formatMenu Color add formatMenu Color BgColor 查看菜单 viewMenu Status new JCheckBoxMenuItem 状态栏 S viewMenu Status setMnemonic S viewMenu Status setState true viewMenu Status addActionListener this mView add viewMenu Status 帮助菜单 mHelp HelpTopics new JMenuItem 帮助 H H mHelp About new JMenuItem 关于 A A mHelp HelpTopics addActionListener this mHelp About addActionListener this mHelp add mHelp HelpTopics mHelp addSeparator 添加分割线 mHelp add mHelp About 3 3 3 3 创建右键弹出菜单创建右键弹出菜单 popupMenu new JPopupMenu popupMenu Undo new JMenuItem 撤消 U U popupMenu Cut new JMenuItem 剪切 T T popupMenu Copy new JMenuItem 复制 C C popupMenu Paste new JMenuItem 粘贴 P P popupMenu Delete new JMenuItem 删除 D D popupMenu SelectAll new JMenuItem 全选 A A popupMenu Undo setEnabled false 撤消选项初始设为不可用 向右键菜单添加菜单项和分隔符 popupMenu add popupMenu Undo popupMenu addSeparator JAVA 课程设计 记事本设计 14 popupMenu add popupMenu Cut popupMenu add popupMenu Copy popupMenu add popupMenu Paste popupMenu add popupMenu Delete popupMenu addSeparator popupMenu add popupMenu SelectAll 右键菜单注册事件 popupMenu Undo addActionListener this popupMenu Cut addActionListener this popupMenu Copy addActionListener this popupMenu Paste addActionListener this popupMenu Delete addActionListener this popupMenu SelectAll addActionListener this 文本编辑区注册右键菜单事件 Text addMouseListener new MouseAdapter public void mousePressed MouseEvent e checkForTriggerEvent e public void mouseReleased MouseEvent e checkForTriggerEvent e private void checkForTriggerEvent MouseEvent e if e isPopupTrigger popupMenu show e getComponent e getX e getY 在组件调用者的 坐标空间中的位置 X Y 显示弹出菜单 else statusLabel3 setText 当前光标所在行数 getlineNumber checkMenuItemEnabled 设置剪切 复制 粘贴 删除等功能的可用性 JAVA 课程设计 记事本设计 15 Text requestFocus 编辑区获取焦点 3 4 3 4 创建工具栏创建工具栏 JPanel toolBar new JPanel toolBar setLayout new FlowLayout FlowLayout LEFT 向容器添加工具栏 container add toolBar BorderLayout NORTH 创建和添加状态栏 statusBar new JToolBar statusBar setLayout new FlowLayout FlowLayout LEFT statusLabel1 new JLabel 按 F1 获取帮助 statusLabel2 new JLabel 当前时间 hour min second statusLabel3 new JLabel 当前光标所在行数 getlineNumber statusBar add statusLabel1 statusBar addSeparator statusBar add statusLabel2 statusBar addSeparator statusBar add statusLabel3 container add statusBar BorderLayout SOUTH statusBar setVisible true 改变标题栏窗口左侧默认图标 Toolkit tk Toolkit getDefaultToolkit Image image tk createImage Icons notepad gif this setIconImage image this setJMenuBar MenuBar 向窗口添加菜单条 container add scroll BorderLayout CENTER 向容器添加文本编辑区 this
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老院应急预案范文(20篇)
- 2025年工业互联网平台量子通信技术在智能家居通信领域的应用预研报告
- 2025年文化娱乐产业政策环境与产业发展趋势研究报告
- 2025年社区团购市场用户留存与社区团购平台用户活跃度提升策略研究报告
- 江西省部分学校2025-2026学年高三上学期8月百万大联考化学试题(含答案)
- 广东省汕尾市陆河县河城中学2024-2025学年上学期九年级10月月考英语试题(含答案无听力原文及音频)
- 班主任工作例会上校长重要讲话:新学期班主任请把这“三件事”和“一条线”放在心上
- 应对焦虑的课件教学
- 巡道工安全培训教案课件
- 岩石圈的物质循环
- HY/T 087-2005近岸海洋生态健康评价指南
- GB/T 5563-2013橡胶和塑料软管及软管组合件静液压试验方法
- GB/T 3600-2000肥料中氨态氮含量的测定甲醛法
- GB 2715-2005粮食卫生标准
- OA流程表单案例
- 医师多点执业注册申请表
- 《边坡稳定性分析》课件
- 刮板输送机-课件
- 深信服防火墙技术方案
- 福建省福州市各县区乡镇行政村村庄村名明细及行政区划代码
- 临床路径病种目录
评论
0/150
提交评论