1、Java 程序设计 B课程综合性实验报告开课实验室:基础七 实验题目 简易写字板软件设计一、实验目的通过编写 Java 的应用系统综合实例简易写字板软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握 Java 语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。熟悉在集成开发环境下编写 Java 程序。二、设备与环境硬件:多媒体计算机软件:Windows 2000 以上的操作系统、 JDK 开发包、集成开发环境三、实验内容总体要求:程序功能基本完成,用户界面友好,代码的可维护性和可扩展性较好,最好包括必要的注
2、释和相应的文档。具体要求:基本的文本录入,字符修改,删除,换行,粘贴,复制,剪切等功能,主要包括:1 菜单栏设计及功能实现:菜单栏主要包括文件、编辑、格式、帮助等常见菜单。其中文件菜单有新建、打开、保存、另存为、退出等功能;编辑菜单有剪切、复制、粘贴、等功能;格式菜单含有对文字字体、字型、字号及颜色等的设置功能,根据情况可在编辑菜单添加查找和查找替换功能。2 编辑区设计:对文本的编辑处理区。3 工具栏设计:可根据需要增加该项功能。4 其他功能设计。华北科技学院计算机学院综合性实验报告第 1 页四、实验结果及分析1主界面的设计与实现整个界面共包括 2 部分包括菜单栏和编辑区,如图 1 所示图 1
3、 主界面 菜单的设计本程序共设计 4 个菜单,分别是文件、编辑、格式和帮助,其中文件菜单实现了 5 个功能,分别是新建、打开、保存、另存为和退出 5 个功能。编辑菜单实现了 3 个功能,分别是复制、剪切、粘贴3 个功能。格式菜单实现了 2 个功能,分别是字体和颜色 2 个功能。帮助菜单里只有关于写字板着一个功能。各个菜单的功能见图 2图 2 各个菜单功能 编辑区设计编辑区实现的文本录入、自动换行和右击菜单功能。如图 3 所示华北科技学院计算机学院综合性实验报告第 2 页图 3 右击功能2文件菜单中各项功能的实现文件菜单包括新建、打开、保存、另存为和退出 5 部分 建功能设计当编辑区中不为空时,
4、新健时会提醒是否保存,当点击是时怎出现另存为的对框如图 4、5 所示图 4华北科技学院计算机学院综合性实验报告第 3 页图 5当点击否时怎文本区清空。 开功能设计打开实现了在打开本地文件的功能,选择本地文件并打开在当前窗口。如图 6 所示。图 6 打开 存功能设计华北科技学院计算机学院综合性实验报告第 4 页保存实现了在当前路径下保存当前文档,若无路径则添加路径。若有的话直接保存如图 7 所示。图 7 保存 存为功能设计另存为实现了在新路径下保存当前文档的功能。如图 8 所示。图 8 另存为华北科技学院计算机学院综合性实验报告第 5 页 出功能设计退出实现了用户退出是提醒用户是否确定要退出。如
5、图 9 所示图 9 退出2.编辑菜单中各项功能的实现编辑菜单包括剪切、复制、粘贴 3 部分,如图 10 所示。图 101 剪切功能设计剪切实现了对所选文本的剪切。2 复制功能设计复制实现了对所选文本的复制。3 粘贴功能设计粘贴实现了对当前文档剪贴板的粘贴。3格式菜单中各项功能的实现格式菜单包括设置字体、字体颜色 2 部分,如图 11 所示。华北科技学院计算机学院综合性实验报告第 6 页图 11 颜色图 12 颜色华北科技学院计算机学院综合性实验报告第 7 页4 帮助菜单中各项功能的实现帮助菜单包括查看“关于记事本”如图 13 所示图 13 关于记事本3 收获与体会听懂的不一定会做的出来只有实际
6、中实实在在的做出来的才是自己的,经过这十几的不懈努力终于把自己的写字板给做了出来了,虽然比起真正的写字板要查很多,还有许多功能需要完善,但是这毕竟是在自己的努力下做出来的成功,还是高兴的。在实际的操作中才逐渐的发现自己的不足,和实际当中的眼高手低的问题,总感觉自己都听懂了可实际操作下才明白这是有多么的差劲。在用java 的整个界面设计中不仅体现了自己编程能力更是要求自己对整个布局的把握通过不断的参考资料弥补了自己的不足同时也学到了很多课外的知识,是自己在对 java 综合知识的利用中更加熟练。从中体会到了 java 编程的乐趣。但是在 java 编程中这只是一个开头还有更多的知识需要我去把握,
7、去学习。从而在 java 方面走的更高。在这里感谢李老师这学期的教导,谢谢老师华北科技学院计算机学院综合性实验报告第 8 页附录import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class notepublic static void main(String args)new noted();class noted extends JFrame implements ActionListenerJMenuBar menu1;JMenu file1,edit,form,he
8、lp;JMenuItem newfile,open,save,assave,exit,copy,cut,paste,find,replace,font1,color1,something,copy1,cut1,paste1,aboutnote;JTextArea area;JScrollPane pane;JPopupMenu menu2;/弹出式菜单JFileChooser filechooser;public noted() setTitle(“无标题-写字板“); setBounds(200,200,600,400);setVisible(true);setDefaultCloseOpe
9、ration(JFrame.EXIT_ON_CLOSE);area=new JTextArea(10,15);area.setLineWrap(true);华北科技学院计算机学院综合性实验报告第 9 页area.setFont(new Font(“宋体“,Font.PLAIN,14);pane=new JScrollPane(area);add(pane,BorderLayout.CENTER);menu1=new JMenuBar();menu2=new JPopupMenu();file1=new JMenu(“文件“);edit=new JMenu(“编辑“);form=new JMen
10、u(“格式“);help=new JMenu(“帮助“);filechooser=new JFileChooser(“);/文件及其相关项的设置于添加newfile=new JMenuItem(“新建“);newfile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK);open=new JMenuItem(“打开“);open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK);save=new JM
11、enuItem(“保存“);save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK);assave=new JMenuItem(“另存为“);assave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,InputEvent.CTRL_MASK);exit=new JMenuItem(“退出“);exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent.CTRL_MASK);file1.add(newfile);file1.add(open);file1.add(save);file1.add(assave);file1.addSeparator();file1.add(exit);menu1.add(file1);