《java课设记事本说明书要点.pdf》由会员分享,可在线阅读,更多相关《java课设记事本说明书要点.pdf(27页珍藏版)》请在三一文库上搜索。
1、* 实践教学 * 兰州理工大学 计算机与通信学院 2012 年秋季学期 Java 课程设计 题目: 记事本系统设计 专业班级: 姓名: 学号: 指导教师: 成绩: 2 目录 摘要 . 1 序言 . 2 正文 . 3 1. 系统设计与分析. 3 2. 详细设计 . 3 3. 系统测试 14 4. 软件使用说明书 17 设计总结 18 参考文献 19 致谢 20 附录(程序源代码) 21 摘要 本次课程设计的题目是用java 语言编写记事本程序,要求是:用图形界面实现;含有简单的文字 编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、查找、替换等功能。 本程序主要用到了Java swin
2、g 组件和事件监听器,还用到了文件的输入输出流。记事本的界面参考 了 Windows 中的记事本界面,并且根据课程设计要求做了适当的调整。 关键字: 记事本程序; Java 语言; Jcreator 2 序言 Java 的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它 还可以被用于更大范围的Internet上。 1995 年, Java 语言的名字从Oak 编程了 Java。1997 年 J2SE1.1 发布。 1998 年 J2SE1.2 发布,标志Java2 的诞生。十多年来,Java 编程语言及平 台成功地运用在网络计算及移动等各个领域。Java 的体系结构由
3、Java 语言、 Java class 、Java API、Java 虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等 众多优点。 Java 支持多线程编程,Java 运行时系统在多线程同步方面具有成熟的解决方案。 Java 的平台标准有Java ME,Java SE 和 Java EE 。Java 发展到今天,它的卓越成就及在业界 的地位毋庸置疑。目前在众多的支持Java 的开发工具中主要的7 有 Java Development Kit, NetBeans ,Jcreator,JBuilder, JDeveloper和 Eclipse等。其中Java Develop
4、ment Kit 简 称 JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是 要根据自己的开发规模、开发内容和软硬件环境等因素来选择一种合适的开发工具。 在本程序设计中,因为需要开发的是记事本程序,规模较小,内容较少, 所以选择了适合初学者使用的JCreator 开发工具。 3 正文 1.系统设计与分析 该课程设计报告里的简易记事本程序是使用Java 程序设计语言编写的,要求实现记事本的基本功 能,参考了windows 中记事本的一些功能。要求打开文件,读取文件中的文本信息;显示、编辑修改 文本信息;实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的
5、一些基本功能。 概要设计 系统主要功能 本程序是利用java 程序设计语言编写的一个简单的记事本程序。可以通过菜单栏和工具栏实现以 下功能:如文件的新建,打开,保存和退出;对文件的编辑,如复制,剪切,粘贴;以及帮助菜单; 执行完操作后,能够顺利关闭记事本。 1运行环境要求 (1) 实现设计的系统硬件需求 硬件配置的基本要求: * 586 以上的计算机 * 32MB 以上的内存 * 彩色显示器 * 3.5寸高密软盘驱动器 * 光盘驱动器 * 4G 以上硬盘空间 * 鼠标 (2) 实现设计的系统软件 * WINDOWS95或 WINDOWS98 * Jcreator Pro全套软件 2.详细设计
6、设计思路 :设计一个EditorDemo 类,继承自JFrame 类,并在EditorDemo 类利用 JtextPane创建面板 窗口 textPane , 利用 Jlabel创建状态栏 statusBar, 利用 JFileChooser 创建文件选择器filechooser, 利用 JMenuBar 创建并实例化菜单栏,利用JToolBar创建工具栏,再通过一些具体方法实现各功能键 的功能。建立构造函数public EditorDemo();通过该构造函数实现记事本程序的主要功能,运行时 4 在主类中通过调用该构造函数来实现对记事本程序的基本操作。 1:窗口设计 在主接口中设计一个Edi
7、torDemo 容器继承自JFrame,并在其中加入菜单栏、工具栏和一个文本域 控件。 public class EditorDemo extends JFrame JTextPane textPane = new JTextPane(); /创建文本窗格,编辑窗口 JFileChooser filechooser = new JFileChooser(); /文件选择器 setJMenuBar(createJMenuBar(actions); /设置菜单栏 Container container = getContentPane(); /得到容器 container.add(createJT
8、oolBar(actions), BorderLayout.NORTH); /工具栏 container.add(textPane, BorderLayout.CENTER); /增加文本窗格 2: 功能设计 (1)在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,显示不 同接口。 private JMenuBar createJMenuBar(Action actions) /创建菜单栏 JMenuBar menubar = new JMenuBar(); /实例化菜单栏 JMenu menuFile = new JMenu(“文件 (F)“); /实例化菜单 J
9、Menu menuEdit = new JMenu(“编辑 (E)“); JMenu menuFormat = new JMenu(“格式 (O)“); JMenu menuFind = new JMenu(“查找 (V)“); JMenu menuAbout = new JMenu(“帮助 (H)“); menuFile.add(new JMenuItem(actions0); /增加新菜单项 menuFile.add(new JMenuItem(actions1); menuFile.add(new JMenuItem(actions2); menuFile.addSeparator();
10、 menuFile.add(new JMenuItem(actions7); menuEdit.add(new JMenuItem(actions3); menuEdit.add(new JMenuItem(actions4); menuEdit.add(new JMenuItem(actions5); menuAbout.add(new JMenuItem(actions6); menubar.add(menuFile); /增加菜单 menubar.add(menuEdit); menubar.add(menuFormat); menubar.add(menuFind); 5 menuba
11、r.add(menuAbout); return menubar; /返回菜单栏 6 如下图: 7 8 (2)加入工具栏的功能键,通过工具栏实现对文本的基本操作。 Action actions = /Action数组 , 各种操作命令 new NewAction(), new OpenAction(), new SaveAction(), new CutAction(), new CopyAction(), new PasteAction(), new AboutAction(), new ExitAction(), private JToolBar createJToolBar(Action
12、 actions) /创建工具条 JToolBar toolBar = new JToolBar(); /实例化工具条 JButton bt = new JButton(actionsi); /实例化新的按钮 toolBar.add(bt); /增加按钮到工具栏 如图所示: (3)对每个菜单项进行注册监听。点击不同功能键时,实现不同的操作,显示不同的窗口。主要实现 方法代码如下: class NewAction extends AbstractAction /实现新建文件命令功能 public NewAction() super(“新建文本 “); public void actionPerf
13、ormed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); /清空文档 class OpenAction extends AbstractAction /实现打开文件命令功能 public OpenAction() super(“打开文本 “); public void actionPerformed(ActionEvent e) int i = filechooser.showOpenDialog(EditorDemo.this); /显示打开文件对话框 if (i = JFileChooser.APPROVE
14、_OPTION) /点击对话框中打开选项 File f = filechooser.getSelectedFile(); /得到选择的文件 try InputStream is = new FileInputStream(f); /得到文件输入流 textPane.read(is, “d“); /读入文件到文本窗格 9 catch (Exception ex) ex.printStackTrace(); /输出出错信息 10 如下图: class SaveAction extends AbstractAction /实现保存文本命令 public SaveAction() super(“ 保存
15、文本 “); public void actionPerformed(ActionEvent e) int i = filechooser.showSaveDialog(EditorDemo.this); / 显示保存文件对话框 if (i = JFileChooser.APPROVE_OPTION) /点击对话框中保存按钮 File f = filechooser.getSelectedFile(); /得到选择的文件 try FileOutputStream out = new FileOutputStream(f); / 得到文件输出流 out.write(textPane.getTex
16、t().getBytes(); /写出文件 catch (Exception ex) ex.printStackTrace(); /输出出错信息 如下图: 11 class ExitAction extends AbstractAction /实现退出命令 public ExitAction() super(“ 退出系统 “); public void actionPerformed(ActionEvent e) System.exit(0); /退出程序 class CutAction extends AbstractAction /实现剪切命令 public CutAction() sup
17、er(“ 剪切 “); public void actionPerformed(ActionEvent e) textPane.cut(); /调用文本窗格的剪切命令 class CopyAction extends AbstractAction /实现拷贝命令 public CopyAction() super(“ 拷贝 “); public void actionPerformed(ActionEvent e) textPane.copy(); /调用文本窗格的拷贝命令 class PasteAction extends AbstractAction /实现粘贴命令 public Past
18、eAction() super(“ 粘贴 “); public void actionPerformed(ActionEvent e) textPane.paste(); /调用文本窗格的粘贴命令 class AboutAction extends AbstractAction /关于版本命令 public AboutAction() 12 super(“ 版本 “); public void actionPerformed(ActionEvent e) 13 String str=“简易记事本版本: 1.0n作者:郭孔明n 主要功能:实现简单文本编辑。 JOptionPane.showMes
19、sageDialog(EditorDemo.this, str);/显示软件信息 如下图: 14 3. 系统测试 1窗口调试 确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。在完成所有 方法的源代码编辑后,对程序进行编译、运行!会出现窗体如下图: 2功能调试 对所有菜单项进行注册监听。在编写触发事件时执行各项操作, 包括了一些常用部分的事件处理, 实现各功能键的操作。例如当点击“文件“按钮是显示如下窗口: 15 当需要打开已存在的文件时,点击“打开文本”按钮会出现如下窗口: 当输入完文本是要保存的话,点击“保存文本”会出现下面的窗口: 16 依次调试其他功能键及窗
20、口,直至达到符合要求的能实现简易的记事本的功能! 17 4.软件使用说明书 本课程设计的简易计算本通过在JAVA 平台编译、 运行源代码, 打开计算本窗口,在编辑区进行文 本的输入,可以使用剪切、拷贝、粘贴等功能键,当文本输入完毕后点击“文件”菜单,选择下拉菜 单中的“保存文本”打开“保存”窗口,选择保存文件的根目录进行保存。当需要关闭窗口时可通过 “文件”菜单下的“退出系统”选项,或者选择“工具栏”中的“退出系统”按钮,也可以直接点击 窗口右上角的关闭图标进行关闭。 18 设计总结 经过一个星期的努力,基本上完成我的Java 课程设计 简单的记事本程序,也基本上实现 了我在需求分析时所预期的
21、功能。通过这次的课程设计,使将我从书本上学习到的理论知识用 到了实践上, 从而进一步巩固和丰富了我所学过的知识,让我更深层次地认识到Java 及其强大 的功能。同时,做这门课程设计也进一步加强了我的动手能力。为了完成好这次课程设计,我 提前做了较多的准备,一边上网查找相关资料,另一方面查阅相关书籍。在这过程中也无形中 锻炼了我的思维分析、遇到问题及想方设法通过各种途径解决问题的能力。但是,设计过程中 也存在一些问题, 本来一开始想给这个记事本程序加上一张背景图片,以及添加字体设置功能, 但是由于本人知识浅陋以及各种其他原因,使得这些想法没有实现,这是这次课程设计的一点 遗憾。 19 参考文献
22、1 曲朝阳,杨杰明等.Java 程序设计 . 北京 : 清华大学出版社,2008.10 2 耿祥以,张跃平.Java 大学生实用教程. 北京 : 电子工业出版社,2012.6 3 明日科技 .Java 经典编程 . 北京:清华大学出版社,2012.10 4 李尊朝,苏军.Java 语言程序设计 . 北京:中国铁道出版社,2004.2 5 王博 . 面向对象的建模、设计技术与方法. 北京希望电脑公司,1990. 20 致谢 在本次设计的过程中,老师给了我很大的帮助, 不仅使我在规定的时间内完成了系统的设计,同 时还使我学到了很多有益的知识和宝贵的经验。在此,我向帮助我的老师们表示最衷心的感谢。由
23、我 人水平有限,其中肯定会有一些不当之处,请老师批评指正。 21 附录(程序源代码) 程序源代码: /简单的文本编辑器 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; import javax.swing.text.*; public class EditorDemo extends JFrame JTextPane textPane = new JTextPane(); /文本窗格,编辑窗口 JLabel statusBar = new JLabel(); / 状态栏 JF
24、ileChooser filechooser = new JFileChooser(); / 文件选择器 public EditorDemo() /构造函数 super(“简易记事本 “); /调用父类构造函数 Action actions = /Action 数组 ,各种操作命令 new NewAction(), new OpenAction(), new SaveAction(), new CutAction(), new CopyAction(), new PasteAction(), new AboutAction(), new ExitAction(), ; setJMenuBar(
25、createJMenuBar(actions); /设置菜单栏 Container container = getContentPane(); / 得到容器 container.add(createJToolBar(actions), BorderLayout.NORTH); /增加工具栏 container.add(textPane, BorderLayout.CENTER); / 增加文本窗格 container.add(statusBar, BorderLayout.SOUTH); / 增加状态栏 setSize(500, 400); /设置窗口尺寸 setVisible(true);
26、/设置窗口可视 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /关闭窗口时退出程序 22 private JMenuBar createJMenuBar(Action actions) /创建菜单栏 JMenuBar menubar = new JMenuBar(); / 实例化菜单栏 JMenu menuFile = new JMenu(“ 文件 (F)“); / 实例化菜单 JMenu menuEdit = new JMenu(“ 编辑 (E)“); JMenu menuFormat = new JMenu(“ 格式 (O)“); JMen
27、u menuFind = new JMenu(“ 查找 (V)“); JMenu menuAbout = new JMenu(“ 帮助 (H)“); menuFile.add(new JMenuItem(actions0); /增加新菜单项 menuFile.add(new JMenuItem(actions1); menuFile.add(new JMenuItem(actions2); menuFile.addSeparator(); menuFile.add(new JMenuItem(actions7); menuEdit.add(new JMenuItem(actions3); me
28、nuEdit.add(new JMenuItem(actions4); menuEdit.add(new JMenuItem(actions5); menuAbout.add(new JMenuItem(actions6); menubar.add(menuFile); / 增加菜单 menubar.add(menuEdit); menubar.add(menuFormat); menubar.add(menuFind); menubar.add(menuAbout); return menubar; /返回菜单栏 private JToolBar createJToolBar(Action
29、actions) /创建工具条 JToolBar toolBar = new JToolBar(); / 实例化工具条 for (int i = 0; i actions.length; i+) JButton bt = new JButton(actionsi); /实例化新的按钮 bt.setRequestFocusEnabled(false); /设置不需要焦点 bt.setFont(new Font(“ 宋体 “,Font.PLAIN,12); bt.setBackground(Color.pink); toolBar.add(bt); / 增加按钮到工具栏 return toolBa
30、r; /返回工具栏 23 class NewAction extends AbstractAction /新建文件命令 public NewAction() super(“新建文本 “); public void actionPerformed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); / 清空文档 class OpenAction extends AbstractAction /打开文件命令 public OpenAction() super(“打开文本 “); public void actionPer
31、formed(ActionEvent e) int i = filechooser.showOpenDialog(EditorDemo.this); /显示打开文件对话框 if (i = JFileChooser.APPROVE_OPTION) /点击对话框中打开选项 File f = filechooser.getSelectedFile(); / 得到选择的文件 try InputStream is = new FileInputStream(f); / 得到文件输入流 textPane.read(is, “d“); / 读入文件到文本窗格 catch (Exception ex) ex.
32、printStackTrace(); /输出出错信息 class SaveAction extends AbstractAction /保存命令 public SaveAction() super(“保存文本 “); public void actionPerformed(ActionEvent e) int i = filechooser.showSaveDialog(EditorDemo.this); /显示保存文件对话框 if (i = JFileChooser.APPROVE_OPTION) /点击对话框中保存按钮 File f = filechooser.getSelectedFil
33、e(); / 得到选择的文件 try 24 FileOutputStream out = new FileOutputStream(f); /得到文件输出流 out.write(textPane.getText().getBytes(); / 写出文件 catch (Exception ex) ex.printStackTrace(); / 输出出错信息 class ExitAction extends AbstractAction /退出命令 public ExitAction() super(“退出系统 “); public void actionPerformed(ActionEvent
34、 e) System.exit(0); /退出程序 class CutAction extends AbstractAction /剪切命令 public CutAction() super(“剪切 “); public void actionPerformed(ActionEvent e) textPane.cut(); /调用文本窗格的剪切命令 class CopyAction extends AbstractAction /拷贝命令 public CopyAction() super(“拷贝 “); public void actionPerformed(ActionEvent e) t
35、extPane.copy(); /调用文本窗格的拷贝命令 class PasteAction extends AbstractAction /粘贴命令 public PasteAction() 25 super(“粘贴 “); public void actionPerformed(ActionEvent e) textPane.paste(); /调用文本窗格的粘贴命令 class AboutAction extends AbstractAction /关于选项命令 public AboutAction() super(“版本 “); public void actionPerformed(ActionEvent e) String str=“ 记事本编辑 nn 版本: 1.0n 作者:杨占宏n 主要功能:能够实现记事本的编辑 JOptionPane.showMessageDialog(EditorDemo.this, str); / 显示软件信息 public static void main(String args) new EditorDemo();
链接地址:https://www.31doc.com/p-5197267.html