




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、前言 随时着科学技术的快速发展,计算机程序设计早已成为了趋势,JAVA是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。JAVA是实践性很强的课程。课程设计是加强实践能力的一个强有力手段。要求掌握JAVA的应用、编写、上机调试的基本方法。本课程设计就是主要利用java语言编写的一个模仿windows 记事本的较简单的程序,实现了一些基本功能,要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现输入文本文件、控制保存文本信息到指定的文件的功能 。目录 一、需求分析1二、概要设计1 三、详细设计2四、系统调试分析6五、课程设计心得体会7六、使用说明7七、参考文献及
2、致谢7八、 附录(程序源代码)7一、需求分析该课程设计报告里的简易记事本程序是使用Java程序设计语言编写的,要求实现记事本的基本功能,参考了windows中记事本的一些功能。要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能 。二、 概要设计 1.1 系统主要功能本程序是利用java程序设计语言编写的一个简单的记事本程序。可以通过菜单栏和工具栏实现以下功能:如文件的新建,打开,保存和退出;对文件的编辑,如复制,剪切,粘贴;以及帮助菜单;执行完操作后,能够顺利关闭记事本。1.2运行环境要求(1) 实现设计的系统
3、硬件需求 硬件配置的基本要求:* 586以上的计算机* 32MB以上的内存* 彩色显示器* 3.5寸高密软盘驱动器* 光盘驱动器* 4G以上硬盘空间* 鼠标(2) 实现设计的系统软件* WINDOWS95或WINDOWS98* Jcreator Pro全套软件三、详细设计设计思路:设计一个EditorDemo类,继承自JFrame类,并在EditorDemo类利用JtextPane创建面板窗口textPane,利用Jlabel创建状态栏 statusBar,利用JFileChooser 创建文件选择器filechooser,利用JMenuBar创建并实例化菜单栏,利用JToolBar创建工具栏
4、,再通过一些具体方法实现各功能键的功能。建立构造函数public EditorDemo();通过该构造函数实现记事本程序的主要功能,运行时在主类中通过调用该构造函数来实现对记事本程序的基本操作。1:窗口设计 在主接口中设计一个EditorDemo容器继承自JFrame,并在其中加入菜单栏、工具栏和一个文本域控件。 public class EditorDemo extends JFrameJTextPane textPane = new JTextPane(); /创建文本窗格,编辑窗口JFileChooser filechooser = new JFileChooser(); /文件选择器s
5、etJMenuBar(createJMenuBar(actions); /设置菜单栏Container container = getContentPane(); /得到容器 container.add(createJToolBar(actions), BorderLayout.NORTH); /工具栏container.add(textPane, BorderLayout.CENTER); /增加文本窗格2:功能设计(1)在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。点击不同菜单项时,显示不同接口。private JMenuBar createJMenuBar(Action a
6、ctions) /创建菜单栏JMenuBar menubar = new JMenuBar(); /实例化菜单栏JMenu menuFile = new JMenu("文件(F)"); /实例化菜单 JMenu menuEdit = new JMenu("编辑(E)");JMenu menuFormat = new JMenu("格式(O)");JMenu menuFind = new JMenu("查找(V)");JMenu menuAbout = new JMenu("帮助(H)");men
7、uFile.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);menuEdit.add(new JMenuItem(actions4);menuEdit.add(new JMenuItem(actions5);menuAbout.ad
8、d(new JMenuItem(actions6);menubar.add(menuFile); /增加菜单menubar.add(menuEdit);menubar.add(menuFormat);menubar.add(menuFind);menubar.add(menuAbout);return menubar; /返回菜单栏如下图:(2)加入工具栏的功能键,通过工具栏实现对文本的基本操作。Action actions = /Action数组,各种操作命令new NewAction(),new OpenAction(),new SaveAction(),new CutAction(),n
9、ew CopyAction(),new PasteAction(),new AboutAction(),new ExitAction(),private JToolBar createJToolBar(Action actions) /创建工具条JToolBar toolBar = new JToolBar(); /实例化工具条 JButton bt = new JButton(actionsi); /实例化新的按钮toolBar.add(bt); /增加按钮到工具栏如图所示:(3)对每个菜单项进行注册监听。点击不同功能键时,实现不同的操作,显示不同的窗口。主要实现方法代码如下:class N
10、ewAction extends AbstractAction /实现新建文件命令功能public NewAction() super("新建文本");public void actionPerformed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); /清空文档class OpenAction extends AbstractAction /实现打开文件命令功能public OpenAction() super("打开文本");public void actionPer
11、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)
12、ex.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
13、.getSelectedFile(); /得到选择的文件try FileOutputStream out = new FileOutputStream(f); /得到文件输出流out.write(textPane.getText().getBytes(); /写出文件 catch (Exception ex) ex.printStackTrace(); /输出出错信息如下图:class ExitAction extends AbstractAction /实现退出命令public ExitAction() super("退出系统");public void actionPe
14、rformed(ActionEvent 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 vo
15、id actionPerformed(ActionEvent e) textPane.copy(); /调用文本窗格的拷贝命令class PasteAction extends AbstractAction /实现粘贴命令public PasteAction() super("粘贴");public void actionPerformed(ActionEvent e) textPane.paste(); /调用文本窗格的粘贴命令class AboutAction extends AbstractAction /关于版本命令public AboutAction() supe
16、r("版本");public void actionPerformed(ActionEvent e) String str="简易记事本n版本:1.0n作者:郭孔明n主要功能:实现简单文本编辑。 JOptionPane.showMessageDialog(EditorDemo.this, str); /显示软件信息如下图:四、系统调试分析1:窗口调试确定主窗体,设置主窗体的属性,对窗体进行布局,加入所需控件并对控件进行初始化。在完成所有方法的源代码编辑后,对程序进行编译、运行!会出现窗体如下图: 2:功能调试对所有菜单项进行注册监听。在编写触发事件时执行各项操作,
17、包括了一些常用部分的事件处理,实现各功能键的操作。例如 当点击“文件“按钮是显示如下窗口:当需要打开已存在的文件时,点击“打开文本”按钮会出现如下窗口: 当输入完文本是要保存的话,点击“保存文本”会出现下面的窗口: 依次调试其他功能键及窗口,直至达到符合要求的能实现简易的记事本的功能!五、课程设计心得 经过java记事本的课程设计,我在老师的指导下,顺利完成该课程设计。通过这次课程设计,我收获到了很多,这次JAVA课程设计给我的最大的印象就是如果自己有了兴趣,就动手去做。我加深了对Java语言的理论知识的理解;我更加熟练的掌握了Java语言的设计能力并且有了实践经验;在设计过程中,学到了许多老
18、师没有在课堂上没有教授的知识;加强了对Java语言的学习兴趣和好感,很是受益匪浅。六、使用说明 本课程设计的简易计算本通过在JAVA平台编译、运行源代码,打开计算本窗口,在编辑区进行文本的输入,可以使用剪切、拷贝、粘贴等功能键,当文本输入完毕后点击“文件”菜单,选择下拉菜单中的“保存文本”打开“保存”窗口,选择保存文件的根目录进行保存。当需要关闭窗口时可通过“文件”菜单下的“退出系统”选项,或者选择“工具栏”中的“退出系统”按钮,也可以直接点击窗口右上角的关闭图标进行关闭。七参考文献及致谢参考文献: 洪维恩 何嘉 java 2面向对象程序设计. 中国铁道出版社,2004.2致谢:在本次设计的过
19、程中, 各位老师给了我很大的帮助,不仅使我在规定的时间内完成了系统的设计,同时还使我学到了很多有益的知识和宝贵的经验。在此,我向帮助我的老师们表示最衷心的感谢。由于本人水平有限,其中肯定会有一些不当之处,请老师批评指正。 八、附录(程序源代码)程序源代码:/简单的文本编辑器import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.text.*;public class EditorDemo extends JFrame JTextPane textPane
20、 = new JTextPane(); /文本窗格,编辑窗口JLabel statusBar = new JLabel(); /状态栏JFileChooser filechooser = new JFileChooser(); /文件选择器public EditorDemo() /构造函数super("简易记事本"); /调用父类构造函数Action actions = /Action数组,各种操作命令new NewAction(),new OpenAction(),new SaveAction(),new CutAction(),new CopyAction(),new
21、PasteAction(),new AboutAction(),new ExitAction(),;setJMenuBar(createJMenuBar(actions); /设置菜单栏Container container = getContentPane(); /得到容器container.add(createJToolBar(actions), BorderLayout.NORTH); /增加工具栏container.add(textPane, BorderLayout.CENTER); /增加文本窗格container.add(statusBar, BorderLayout.SOUTH
22、); /增加状态栏 setSize(500, 400); /设置窗口尺寸setVisible(true); /设置窗口可视setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /关闭窗口时退出程序private JMenuBar createJMenuBar(Action actions) /创建菜单栏JMenuBar menubar = new JMenuBar(); /实例化菜单栏JMenu menuFile = new JMenu("文件(F)"); /实例化菜单JMenu menuEdit = new JMenu("
23、;编辑(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();me
24、nuFile.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);menubar.add(menuAbou
25、t);return menubar; /返回菜单栏private JToolBar createJToolBar(Action 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);
26、bt.setBackground(Color.pink);toolBar.add(bt); /增加按钮到工具栏return toolBar; /返回工具栏class NewAction extends AbstractAction /新建文件命令public NewAction() super("新建文本");public void actionPerformed(ActionEvent e) textPane.setDocument(new DefaultStyledDocument(); /清空文档class OpenAction extends AbstractAct
27、ion /打开文件命令public OpenAction() super("打开文本");public void actionPerformed(ActionEvent e) int i = filechooser.showOpenDialog(EditorDemo.this); /显示打开文件对话框if (i = JFileChooser.APPROVE_OPTION) /点击对话框中打开选项File f = filechooser.getSelectedFile(); /得到选择的文件try InputStream is = new FileInputStream(f)
28、; /得到文件输入流textPane.read(is, "d"); /读入文件到文本窗格 catch (Exception ex) ex.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.getSelectedFile(); /得到选择的文件try FileOutputStream out = new FileOutputStream(f); /得到文件输出流out.write(textPane.getText().getBytes(); /写出文件 catch (Exception ex) ex.prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年重庆合川花滩医院招聘笔试真题
- 2024年昆明市西山区妇幼健康服务中心招聘真题
- 2024年吉林省应急管理厅下属事业单位真题
- 班主任在班级中开展批判性思维教育计划
- 财务信息更新与维护计划
- 2024年海南省监狱管理局下属事业单位真题
- 2025届浙江省富阳市七年级数学第二学期期末达标检测试题含解析
- 学期交流反馈与计划调整
- 2024年北京肿瘤医院社会人员招聘笔试真题
- 2024年北京清华附中学院路学校招聘笔试真题
- 汽机发电量计算
- 西南交通大学《行车组织》区段站工作组织课程设计(附大图)
- GB∕T 1457-2022 夹层结构滚筒剥离强度试验方法
- 康复治疗技术(康复养老服务)专业群建设方案
- 防止水电站水淹厂房措施研究报告
- 卫生监督稽查规范
- 第五章结型场效应晶体管
- 修正责任准备金
- 丽声北极星自然拼读绘本第一级Uncle Vic‘s Wagon 课件
- authorware7程序设计制作一个时钟
- 变速器换挡叉的加工工艺规程及工装设计带图纸】
评论
0/150
提交评论