




免费预览已结束,剩余10页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java记事本设计报告学院:计算机信息与工程学院专业:计算机科学与技术班级:2011级2班学号:111102023姓名:陈羽一设计目的通过编写Java的应用系统综合实例简易写字板软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。熟悉在集成开发环境下编写Java程序。二总体设计总体要求:程序功能基本完成,用户界面友好,代码的可维护性和可扩展性较好,最好包括必要的注释和相应的文档。三关键技术具体要求:基本的文本录入,字符修改,删除,换行,粘贴,复制,剪切等功能,主要包括:1 菜单栏设计及功能实现:菜单栏主要包括文件、编辑、格式、帮助等常见菜单。其中文件菜单有新建、打开、保存、另存为、退出等功能;编辑菜单有剪切、复制、粘贴、等功能;格式菜单含有对文字字体、字型、字号及颜色等的设置功能,根据情况可在编辑菜单添加查找和查找替换功能。2 编辑区设计:对文本的编辑处理区。3 工具栏设计:可根据需要增加该项功能。4 其他功能设计。四程序流程五主要源代码import java.awt.*;import javax.swing.*;import java.awt.event.*;import javax.swing.event.*;import java.util.*; /Date neededimport java.io.PrintWriter;public class NotePad extends JFrame JTextArea jta; class newl implements ActionListener public void actionPerformed(ActionEvent e) jta.setText(); class openl implements ActionListener public void actionPerformed(ActionEvent e) JFileChooser jf=new JFileChooser(); jf.showOpenDialog(NotePad.this); /保存文件的监听 class savel implements ActionListener public void actionPerformed(ActionEvent e) JFileChooser jf = new JFileChooser(); jf.showSaveDialog(NotePad.this); /打印的监听 class printl implements ActionListener public void actionPerformed(ActionEvent e) / PrintWriter p = new PrintWriter(NotePad.this); /退出记事本的监听 class exitl implements ActionListener public void actionPerformed(ActionEvent e) System.exit(0);/退出 /拷贝的监听 class copyl implements ActionListener public void actionPerformed(ActionEvent e) jta.copy(); /粘贴的监听 class pastel implements ActionListener public void actionPerformed(ActionEvent e) jta.paste(); /剪切的监听 class cutl implements ActionListener public void actionPerformed(ActionEvent e) jta.cut(); /查找的监听 /添加日期的监听 class datel implements ActionListener public void actionPerformed(ActionEvent e) Date d=new Date(); jta.append(d.toString(); /构造函数 public NotePad() jta=new JTextArea(,24,40); JScrollPane jsp=new JScrollPane(jta); JMenuBar jmb=new JMenuBar(); JMenu mFile=new JMenu(文件); JMenu mEdit=new JMenu(编辑); JMenuItem mNew=new JMenuItem(新建,KeyEvent.VK_N); mNew.addActionListener(new newl(); mFile.add(mNew); JMenuItem mOpen=new JMenuItem(打开,KeyEvent.VK_O); mOpen.addActionListener(new openl(); mFile.add(mOpen); JMenuItem mSave=new JMenuItem(保存); mSave.addActionListener(new savel(); mFile.add(mSave); mFile.addSeparator(); /添加分割线 JMenuItem mPrint = new JMenuItem(打印); mPrint.addActionListener(new printl(); mFile.add(mPrint); mFile.addSeparator(); /添加分割线 JMenuItem mExit=new JMenuItem(退出); mExit.addActionListener(new exitl(); mFile.add(mExit); mFile.setMnemonic(KeyEvent.VK_F); /编辑菜单的子菜单的处理 JMenuItem jmi; jmi=new JMenuItem(复制); jmi.addActionListener(new copyl(); mEdit.add(jmi); jmi=new JMenuItem(剪切); jmi.addActionListener(new cutl(); mEdit.add(jmi); jmi=new JMenuItem(粘贴); jmi.addActionListener(new pastel(); mEdit.add(jmi); mEdit.addSeparator(); /添加分割线 jmi=new JMenuItem(查找); mEdit.add(jmi); jmi=new JMenuItem(查找下一处); mEdit.add(jmi); mEdit.addSeparator(); jmi=new JMenuItem(全选); mEdit.add(jmi); jmi=new JMenuItem(日期/时间); jmi.addActionListener(new datel(); mEdit.add(jmi); jmb.add(mFile); jmb.add(mEdit); this.setJMenuBar(jmb); this.getContentPane().add(jsp); this.setSize(200,200); this.setVisible(true); /主函数,程序入口点 public static void main(String s) new NotePad(); 六. 运行结果及结论在编写记事本程序时,遇到过很多问题。比如说在图形界面设计时,就遇到过关于布局的问题,在创建“查找”对话框时,总是布局不好,要么就是这个组件对不齐,要么那个组件太大了,总是达不到我预期的效果,用了很多方法都不行。最后我只好去网上看了看别人的代码,发现别人用的竟是“空布局”,每一个组件都用setBounds()去控制大小和位置,于是我也照着试了试,效果不错。这次综合实验我很早就开始准备了,在代码上花费的时间也很多。我深深地体会到编出一个程序是不容易的,编好一个程序更是不容易的。在很多功能上,比如说在“关闭”“新建”“打开”记事本时,如果文本没保存或者又被修改,要弹出“询问保存”的对话框,我设置好这一项后,再测试,另一项又出问题了,反复测试反复修改,研究问题的所在。其实这些或许是没必要的,但是一个程序真正的要做到“健壮性”不出现BUG,确实要下功夫的。通过这次实验,我还明白了,我们应该学会是如何学习的方法而不仅仅是知识。JAVA世界很大很开阔,书上的那些知识太少了,课堂上的时间是有限的,我们应该掌握的是学习的方法,比如说学会如果查API解决问题。读别人的程序是一个不错的方法,在别人的程序中我学到了很多知识。可能仅仅是几句代码就会使程序得到很大的改善。编程序还是要多练习,练得多了就熟练了,对知识的掌握也更加深
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽广播影视职业技术学院博士人才招聘10人考前自测高频考点模拟试题及答案详解参考
- 2025年第二季度(第一次)贵州黔东南州天柱县招聘全日制城镇公益性岗位8人考前自测高频考点模拟试题及答案详解(易错题)
- 2025复旦大学附属中山医院厦门医院长期招聘高层次人才25人(福建)考前自测高频考点模拟试题及答案详解(新)
- 2025河南省职工医院护理人员招聘60人考前自测高频考点模拟试题参考答案详解
- 2025河南鹤壁市市直单位第一批公益性岗位招聘26人考前自测高频考点模拟试题附答案详解
- 2025贵州毕节市七星关区招聘城市社区工作者186人模拟试卷及完整答案详解
- 2025年中国化妆品级补骨脂酚行业市场分析及投资价值评估前景预测报告
- 2025年湖南益阳市交通投资运营集团有限公司下属子公司公开招聘(第一批)模拟试卷及答案详解(易错题)
- 2025年甘肃省武威市事业单位已发布模拟试卷及答案详解(夺冠系列)
- 2025湖北交投集团部分中层管理岗位竞聘上岗20人模拟试卷及参考答案详解一套
- 供应商具备履行合同所必需的设备和专业技术能力的证明材料8篇
- 职场心态调整与职业发展
- 协议离婚三大忌净身出户
- 暂停支付一切款项通知函
- 2025年华侨港澳台生联招考试高考地理试卷试题(含答案详解)
- 一口气看遍中国的地理之美中国地理介绍P
- 生猪屠宰兽医卫生检疫人员考试题库答案
- 鼓膜置管护理常规
- 施工现场实施信息化监控和数据处理方案
- 《公路限速标志设计规范》(3381-02-2020)
- DB11T 1493-2017 城镇道路雨水口技术规范
评论
0/150
提交评论