收藏 分销(赏)

JAVA课程设计编写一个记事本程序.doc

上传人:精**** 文档编号:9854962 上传时间:2025-04-10 格式:DOC 页数:25 大小:210.50KB
下载 相关 举报
JAVA课程设计编写一个记事本程序.doc_第1页
第1页 / 共25页
JAVA课程设计编写一个记事本程序.doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述
JAVA课程设计编写一个记事本程序 25 2020年4月19日 文档仅供参考 Java语言程序设计B报 告 班级: 学号: 姓名: 成绩: 12月 题目:编写一个记事本程序 一. 课程设计题目概要。 1.1课程设计目的 1.2题目设计要求 二. 课程设计思路。 三. 课程设计实现功能结构图。 3.1“文件”菜单。 3.2“编辑”菜单。 四. 记事本实现功能代码实现。 4.1界面设计代码实现及实现截图。 4.2功能代码详细设计 4.2.1新建文件 4.2.2打开文件 4.2.3复制文件 4.2.4粘贴文件 4.2.5退出记事本 五. JAVA课程设计个人总结。 附:JAVA课程设计程序源代码 一. 课程设计题目概要。 1. 1课程设计目的。 按照老师要求,编写一个记事本程序,并能够实现老师要求的相关功能。在课程设计过程中,复习巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握,将课本上的理论知识和实际有机的结合起来,锻炼自己的分析解决实际问题的能力,提高自己实践编程的能力。 1.2题目设计要求。 要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。 六. 课程设计思路。 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创立一个课设的主类(KESHE),在主类中创立一个JSB类的对象,就能够直接在编译器中运行程序。 在主界面中设计一个Frame容器,并在其中加入一个下拉 菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 七. 课程设计实现功能结构图。 3.1“文件”菜单。 开始 “文件”菜单 新建 另存为 File=null 打开 用JFileChooser()选择所有打开文件路径 用unfold()读取所选的文件内容到记事本 保存 用sava()保存文件 用JFileChooser()选择文件另存的路径 用sava()保存文件 退出或关闭 文件是否修改 用sava()保存文件 Y 结束 N 图3.2 “文件”菜单操作流程图 用close()关闭文件 3.2“编辑”菜单。 开始 “编辑”菜单 剪切 全选 设置修改标签,text.cut() 复制 用 text.copy()实现 粘贴 设置修改标签, text.paste() 删除 设置修改标签, text.replaceRange("", start, end); 查找 替换 用FindAndReplace{}方法实现 用text.selectAll()实现 退出或关闭 文件是否修改 用sava()保存文件并 结束 用close()关闭文件 Y N 图3.3 “编辑”菜单操作流程图 四.记事本实现功能代码实现。 4.1.界面设计。 主要代码: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); item1=new MenuItem("新建"); item2=new MenuItem("打开"); item3=new MenuItem("保存"); item4=new MenuItem("另存为"); item5=new MenuItem("退出"); item6=new MenuItem("全选"); item7=new MenuItem("复制"); item8=new MenuItem("剪切"); item9=new MenuItem("粘贴"); menu1.add(item1); menu1.add(item2); menu1.add(item4); menu1.add(item5); menu2.add(item6); menu2.add(item7); menu2.add(item8); menu2.add(item9); menubar.add(menu1); menubar.add(menu2); f.setMenuBar(menubar); 程序代码实现截图: 4.2功能代码详细设计。 4.2.1新建文件。 if (e.getSource()==item1) { if (i==0&&(ss.length()!=0)) { bc(); } else p1.setText("");i=0;f.setTitle("文件对话框"); } 4.2.2打开文件。 if (e.getSource()==item2) { fd=new FileDialog(f,"打开文件",0); fd.setVisible(true); try{ file=new File(fd.getDirectory(),fd.getFile()); f.setTitle(fd.getFile()+"文件对话框"); FileReader fr=new FileReader(file); BufferedReader br=new BufferedReader(fr); String line = null; String view = ""; while((line=br.readLine())!=null) { view += line+"\n"; } p1.setText(view); br.close(); fr.close(); } catch(IOException expIn) {} } 4.2.3复制文件。 if (e.getSource()==item7) { try{ String str=p1.getSelectedText(); if(str.length()!=0) { strt=str; } }catch(Exception ex) { } } 4.2.4粘贴文件。 if (e.getSource()==item9) { if(strt.length()>0) { p1.insert(strt,p1.getCaretPosition()); } 4.2.5退出记事本。 if (e.getSource()==item5) { if (i==0 &&(ss.length()!=0)) { bc(); } else { System.exit(0); } } 五. JAVA课程设计个人总结。 这个学期我们学习了JAVA语言,这对于我们来说是一门十分陌生的编程语言,在学习的过程中,我感到了这门语言的学习有一定的困难,与C、C++语言相比需要克服的困难也相对多一些。在学习了JAVA课程后,我们经过这次的JAVA课程设计复习和掌握我们学习的JAVA语言知识,而且在课程设计的过程中巩固和运用相关的知识,提高自己的JAVA编程能力。 经过这次的JAVA课程设计,我更好地了解了JAVA的编程方法,而且在遇到困难的时候,能主动请教身边的同学,不但仅培养了我的编程能力,在与同学的交流中我也更好的培养了与其它人的交流能力,相信经过这次的JAVA课程设计,我更好地学习了JAVA,相信我自己在以后的学习中能继续学习JAVA,在更好地丰富自己JAVA知识的同时,积极提高自己的JAVA编程能力,在以后能更好地掌握JAVA语言。 JAVA语言课程设计程序源代码: import java.io.*; import java.awt.*; import java.awt.event.*; class FileInAndOut { public static String fileInput(String fName) { String strRead=""; try { FileReader fr=new FileReader(fName); BufferedReader br=new BufferedReader(fr); String aline=new String(); while((aline=br.readLine())!=null) strRead=strRead+aline; br.close(); fr.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return strRead; } public static void fileWrite(String fName,String temp) { try { FileWriter fw=new FileWriter(fName); BufferedWriter bw=new BufferedWriter(fw); bw.write(temp); bw.close(); fw.close(); } catch (IOException e) { e.printStackTrace(); } } } public class MyNote implements ActionListener { private Frame f; private TextArea ta; private MenuBar mb; private String strme[]={"文件","编辑","帮助"}; private String strmi[][]={{"新建","打开","保存","退出"},{"剪切","拷贝","粘贴","查找"}, private String fileDir,fileName,temp=""; private Menu me[]; private MenuItem mi[][]; private Label l1,l2; private TextField t1,t2; private Button b1,b2,b3; private Dialog diaFind,diaAbout; public MyNote(){ f=new Frame("我的记事本"); ta=new TextArea(); f.add(ta); mb=new MenuBar(); f.setMenuBar(mb); mi=new MenuItem[strme.length][]; me=new Menu[strme.length]; for(int i=0;i<strme.length;i++){ me[i]=new Menu(strme[i]); mb.add(me[i]); mi[i]=new MenuItem[strmi[i].length]; for(int j=0;j<strmi[i].length;j++){ mi[i][j]=new MenuItem(strmi[i][j]); me[i].add(mi[i][j]); mi[i][j].addActionListener(this); } } f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); f.setSize(400,300); f.show(); diaFind=new Dialog(f,"查找",true); diaFind.setLayout(new FlowLayout()); diaFind.setSize(260,120); l1=new Label("查找内容"); l2=new Label("替 换 为"); t1=new TextField(20); t2=new TextField(20); b1=new Button("下一个"); b2=new Button("替换"); b3=new Button("取消"); diaFind.add(l1); diaFind.add(t1); diaFind.add(l2); diaFind.add(t2); diaFind.add(b1); diaFind.add(b2); diaFind.add(b3); diaFind.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ diaFind.dispose(); } }); } public void actionPerformed(ActionEvent e){ String cmd=e.getActionCommand(); if(cmd.equals("新建")){ fileDir=""; fileName=""; ta.setText(""); f.setTitle("我的记事本"); } if(cmd.equals("打开")){ FileDialog diaOpen=new FileDialog(f,"",FileDialog.LOAD); diaOpen.show(); fileDir=diaOpen.getDirectory(); fileName=diaOpen.getFile(); if(!fileName.equals("")){ ta.setText(FileInAndOut.fileInput(fileDir+fileName)); f.setTitle(fileName+"我的记事本"); } } if(cmd.equals("保存")){ FileDialog diaSave=new FileDialog(f,"",FileDialog.SAVE); diaSave.show(); fileDir=diaSave.getDirectory(); fileName=diaSave.getFile(); if(!fileName.equals("")){ FileInAndOut.fileWrite(fileDir+fileName,ta.getText()); f.setTitle(fileName+"我的记事本"); } } if(cmd.equals("退出")){ System.exit(0); } if(cmd.equals("剪切")){ int x,y; x=ta.getSelectionStart(); y=ta.getSelectionEnd(); temp=ta.getSelectedText(); ta.replaceRange("",x,y); } if(cmd.equals("拷贝")){ temp=ta.getSelectedText(); } if(cmd.equals("粘贴")){ ta.replaceRange(temp,ta.getSelectionStart(),ta.getSelectionEnd()); } if(cmd.equals("查找")){ diaFind.show(); } if(cmd.equals("关于")){ } } public static void main(String[] args) { new MyNote(); } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服