您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Java 记事本课程设计
软件学院课程设计报告书课程名称面向对象程序设计设计题目记事本程序专业班级软件09-1学号0920010122姓名吴楠指导教师徐娇月6月8日目录1设计时间……………………………………………………………32设计目的……………………………………………………………33设计任务……………………………………………………………34设计内容……………………………………………………………34.1系统整体设计…………………………………………………34.2系统详细设计…………………………………………………44.3部分详细设计…………………………………………………75总结与展望…………………………………………………………11附录(源程序清单)…………………………………………………11参考文献………………………………………………………………211设计时间2011年6月8日--------2011年6月10日2设计目的编写一个记事本程序要求用图形用户界面实现并能实现编辑,保存,另存为,查询替换等功能。3设计任务开发一个window记事本,主要有一个主界面及以下功能:1:文件的新建,打开,保存,另存,退出等;2:对文件的编辑,如全选,复制,剪切,粘贴,删除,查找,替换等;3:帮助,包括关于。4设计内容4.1系统整体设计4.1.1系统功能结构图开始文件编辑帮助输入文字4.1.2系统文件结构图4.1.3系统编辑结构图4.2系统详细设计4.2.1主界面开始编辑剪切复制粘贴查找替换全选删除开始文件新建打开保存另存为退出主界面主要是用于对选择相应的功能进行相应的功能,主界面主要包括文件,编辑,帮助三个下拉菜单功能。4.2.2文件菜单界面文件菜单界面主要用于文件的相应功能,其中包括新建,打开,保存,另存为和退出。4.2.3编辑菜单界面编辑菜单界面主要用于对文件的编辑,其中包括有剪切,复制,粘贴,删除,查找替换全选等功能。4.2.4文件保存界面保存文件时弹出界面4.2.5查找替换界面4.3部分详细设计4.3.1jishiben类的实现Filefile=null;//定义一更空文件PrivateJLabelstateBar;//定义一个标签PrivateJTextAreatext;//定义编辑区PrivateJMenuBarmb;//定义菜单栏PrivateJMenufiles,edit,help;//定义菜单PrivateJMenuItemOpen,New,Save,SaveAs,Exit,Cut,Copy,Paste,Delete,Find,Replace,SelectAll,About;//定义菜单项4.3.2GUI程序界面设计publicjishiben(){//构造函数Super(“记事本”);//菜单栏mb=newJMenuBar();files=newJMenu(文件);edit=newJMenu(编辑);help=newJMenu(帮助);About=newJMenuItem(关于记事本);Open=newJMenuItem(打开);//文件菜单的下拉菜单New=newJMenuItem(新建);Save=newJMenuItem(保存);SaveAs=newJMenuItem(另存为);Exit=newJMenuItem(退出);Cut=newJMenuItem(剪切);//编辑菜单的下拉菜单Copy=newJMenuItem(复制);Paste=newJMenuItem(粘贴);Delete=newJMenuItem(删除);Find=newJMenuItem(查找);Replace=newJMenuItem(替换);SelectAll=newJMenuItem(全选);stateBar=newJLabel(未修改);//添加标签stateBar.setHorizontalAlignment(SwingConstants.LEFT);stateBar.setBorder(BorderFactory.createEtchedBorder());mb.add(files);mb.add(edit);mb.add(help);files.add(New);files.add(Open);files.add(Save);files.add(SaveAs);files.addSeparator();//分割线files.add(Exit);edit.add(Cut);edit.add(Copy);edit.add(Paste);edit.add(Delete);edit.addSeparator();//分割线edit.add(Find);edit.add(Replace);edit.addSeparator();//分割线edit.add(SelectAll);help.add(About);setJMenuBar(mb);text=newJTextArea();add(newJScrollPane(text));//滚动面板setSize(600,500);setVisible(true);4.3.3事件处理编辑区键盘事件处理text.addKeyListener(newKeyAdapter(){publicvoidkeyTyped(KeyEvente){processTextArea();}});窗口事件处理classwindowListenerextendsWindowAdapter{publicvoidwindowClosing(WindowEvente){close();}}菜单项事件处理classactionListenerimplementsActionListener{publicvoidactionPerformed(ActionEvente){JMenuItemmi=(JMenuItem)e.getSource();if(mi==New){text.setText();file=null;}elseif(mi==Exit){close();}elseif(mi==Cut){stateBar.setText(已修改);text.cut();}elseif(mi==Copy){text.copy();}elseif(mi==Paste){stateBar.setText(已修改);text.paste();}elseif(mi==SelectAll){text.selectAll();}elseif(mi==Delete){stateBar.setText(已修改);intstart;intend;start=text.getSelectionStart();end=text.getSelectionEnd();text.replaceRange(,start,end);}elseif(mi==Open){JFileChooserjf=newJFileChooser();if(file!=null)jf.setSelectedFile(file);intreturnVal=jf.showOpenDialog(jishiben.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=jf.getSelectedFile();unfold();}}elseif(mi==About){Stringmessage=记事本+作者:吴楠\n感谢使用!;JOptionPane.showMessageDialog(jishiben.this,message,关于...,JOptionPane.PLAIN_MESSAGE);}5总结与展望总体来说,本次项目在规定期间顺利完成,记事本能够完成文件的编辑、保存、剪切,复制、查询、自动换行,字体设计和打印和页面设计等的相应功能。经过一个星期的我的记事本的课程设计,我在老师及同学的指导帮助下,顺利完成该课程设计。通过该课程设计,收获颇多。首先,让我加深了对Java语言的理论知识的理解;其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验;再次,在设计过程中,学到了老师没有在课堂上没有教授的知识;最后,加强了我对Java语言的学习兴趣和好感。附录:程序清单importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.io.*;publicclassjishibenextendsJFrame{Filefile=null;privateJLabelstateBar;privateJTextAreatext;privateJMenuBarmb;privateJMenufiles,edit,help;privateJMenuItemOpen,New,Save,SaveAs,Exit,Cut,Copy,Paste,Delete,Find,Replace,SelectAll,About;publicjishiben()//构造函数{super(记事本);//菜单栏mb=newJMenuBar();files=newJMenu(文件);edit=newJMenu(编辑);help=newJMenu(帮助);About=newJMenuItem(关于记事本);Open=newJMenuItem(打开);//文件菜单的下拉菜单New=newJMenuItem(新建);Save=newJMenuItem(保存);SaveAs=newJMenuItem(另存为);Exit=newJMenuItem(退出);Cut=newJMenuItem(剪切);//编辑菜单的下拉菜单Copy=newJMenuItem(复制);Paste=newJMenuItem(粘贴);Delete=newJMenuItem(删除);Find=newJMenuItem(查找);Replace=newJMenuItem(替换);SelectAll=newJMenuItem(全选);stateBar=newJLabel(未修改);//添加标签stateBar.setHorizontalAlignment(SwingConstants.LEFT);stateBar.setBorder(BorderFactory.createEtchedBorder());mb.add(files);mb.add(edit);mb.add(help);files.add(New);files.add(Open);files.add(Save);files.add(SaveAs);files.addSeparator();//分割线files.add(Exit);edit.add(Cut);edit.add(Copy);edit.add(Paste);edit.add(Delete);edit.addSeparator();//分割线edit.add(Find);edit.add(Replace);edit.addSeparator();//分割线edit.add(SelectAll);help.add(About);setJMenuBar(mb);text=newJTextArea();add(newJScrollPane(text));//滚动面板setSize(600,500);setVisible(true);//监听器接口New.addActionListener(newactionListener());Open.addActionListener(newactionListener());Save.addActionListener(newactionListener());SaveAs.addActionListener(newactionListener());Exit.addActionListener(newactionListener());Cut.addActionListener(newactionListene
本文标题:Java 记事本课程设计
链接地址:https://www.777doc.com/doc-6040132 .html