当前位置:文档之家› 仿windows JAVA 课程设计 记事本

仿windows JAVA 课程设计 记事本

前言随时着科学技术的快速发展,计算机程序设计早已成为了趋势,JAVA是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。

JAVA是实践性很强的课程。

课程设计是加强实践能力的一个强有力手段。

要求掌握JAVA的应用、编写、上机调试的基本方法。

本课程设计就是主要利用java语言编写的一个模仿windows 记事本的较简单的程序,实现了一些基本功能,要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现输入文本文件、控制保存文本信息到指定的文件的功能。

目录一、需求分析 (1)二、概要设计 (1)三、详细设计 (2)四、系统调试分析 (6)五、课程设计心得体会 (7)六、使用说明 (7)七、参考文献及致 (7)八、附录(程序源代码) (7)一、需求分析该课程设计报告里的简易记事本程序是使用Java程序设计语言编写的,要现记事本的基本功能,参考了windows中记事本的一些功能。

要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能。

二、概要设计1.1 系统主要功能本程序是利用java程序设计语言编写的一个简单的记事本程序。

可以通过菜单栏和工具栏实现以下功能:如文件的新建,打开,保存和退出;对文件的编辑,如复制,剪切,粘贴;以及帮助菜单;执行完操作后,能够顺利关闭记事本。

1.2运行环境要求(1) 实现设计的系统硬件需求硬件配置的基本要求:* 586以上的计算机* 32MB以上的存* 彩色显示器* 3.5寸高密软盘驱动器* 光盘驱动器* 4G以上硬盘空间* 鼠标(2) 实现设计的系统软件* WINDOWS95或WINDOWS98* Jcreator Pro全套软件三、详细设计设计思路:设计一个EditorDemo类,继承自JFrame类,并在EditorDemo类利用JtextPane 创建面板窗口textPane,利用Jlabel创建状态栏 statusBar,利用JFileChooser 创建文件选择器filechooser,利用JMenuBar创建并实例化菜单栏,利用JToolBar创建工具栏,再通过一些具体方法实现各功能键的功能。

建立构造函数public EditorDemo();通过该构造函数实现记事本程序的主要功能,运行时在主类过调用该构造函数来实现对记事本程序的基本操作。

1:窗口设计在主接口中设计一个EditorDemo容器继承自JFrame,并在其中加入菜单栏、工具栏和一个文本域控件。

public class EditorDemo extends JFrameJTextPane textPane = new JTextPane(); //创建文本窗格,编辑窗口JFileChooser filechooser = new JFileChooser(); //文件选择器setJMenuBar(createJMenuBar(actions)); //设置菜单栏Container container = getContentPane(); //得到容器container.add(createJToolBar(actions), BorderLayout.NORTH); //工具栏container.add(textPane, BorderLayout.CENTER); //增加文本窗格2:功能设计(1)在下拉菜单中加入子菜单并进行监听,分别实现对文件的操作功能。

点击不同菜单项时,显示不同接口。

private JMenuBar createJMenuBar(Action[] actions) //创建菜单栏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)");menuFile.add(new JMenuItem(actions[0])); //增加新菜单项menuFile.add(new JMenuItem(actions[1]));menuFile.add(new JMenuItem(actions[2]));menuFile.addSeparator();menuFile.add(new JMenuItem(actions[7]));menuEdit.add(new JMenuItem(actions[3]));menuEdit.add(new JMenuItem(actions[4]));menuEdit.add(new JMenuItem(actions[5]));menuAbout.add(new JMenuItem(actions[6]));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(),new CopyAction(),new PasteAction(),new AboutAction(),new ExitAction(),private JToolBar createJToolBar(Action[] actions) //创建工具条JToolBar toolBar = new JToolBar(); //实例化工具条JButton bt = new JButton(actions[i]); //实例化新的按钮toolBar.add(bt); //增加按钮到工具栏如图所示:(3)对每个菜单项进行注册监听。

点击不同功能键时,实现不同的操作,显示不同的窗口。

主要实现方法代码如下: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 actionPerformed(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.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.printStackTrace(); //输出出错信息}}}}如下图:class ExitAction extends AbstractAction { //实现退出命令public ExitAction() {super("退出系统");}public void actionPerformed(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 void 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() {super("版本");}public void actionPerformed(ActionEvent e) {String str="简易记事本\n\版本:1.0\n作者:郭孔明\n主要功能:实现简单文本编辑。

相关主题