Java记事本课程设计报告XXXXXXXX计算机学院课程设计报告书学生姓名: XXXX 学院:计算机学院专业班级:软件工程专业课程: JAVA语言程序设计指导教师:2014 年 6 月 13 日目录第1章系统设计目的 (1)第2章系统实现思路 (2)第3章系统详细设计 (3)第4章系统调试运行 (7)第5章课程设计体会 (8)第6章参考文献 (9)第7章附录 (10)第1章系统设计目的1.1复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;1.2课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;1.3培养学生在项目开发中团队合作精神,创新意识及能力1.4掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法1.5掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法第2章系统实现思路2.1总体功能实现图2.1总体功能实现图2.2记事本2.2菜单操作流程图图2.2“文件”菜单操作流程图第3章系统详细设计3.1界面设计创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。
主要代码:JMenuBar menub=new JMenuBar();JTextArea text=new JTextArea();JMenu files=new JMenu("文件(F)");JMenu edit=new JMenu("编辑(E)");JMenu formats=new JMenu("格式(O)");JMenu help=new JMenu("帮助(H)");JMenuItem newFile=new JMenuItem("新建(N)");JMenuItem open=new JMenuItem("打开(O)...");JMenuItem save=new JMenuItem("保存(S)");JMenuItem exit=new JMenuItem("退出(X)");JMenuItem cut=new JMenuItem("剪切(T)");JMenuItem copy=new JMenuItem("复制(C)");JMenuItem paste=new JMenuItem("粘贴(P)");JMenuItem selectAll=new JMenuItem("全选(A)");JMenuItem color = new JMenuItem("字体颜色(C)...");JMenuItem about=new JMenuItem("关于记事本(A)");3.2窗口大小主要代码:Notebook(String name){super(name);=name;int x,y;Dimension size=Toolkit.getDefaultToolkit().getScreenSize();x=(size.width-600)/2;y=(size.height-400)/2;setSize(600,400);setLocation(x,y);setMinimumSize(new Dimension(250,150));setDefaultCloseOperation(EXIT_ON_CLOSE);}3.3定义快捷键主要代码:files.setMnemonic('F');edit.setMnemonic('E');formats.setMnemonic('O');help.setMnemonic('H');newFile.setMnemonic('N');open.setMnemonic('O');save.setMnemonic('S');exit.setMnemonic('X');cut.setMnemonic('T');copy.setMnemonic('C');paste.setMnemonic('P');selectAll.setMnemonic('A');color.setMnemonic('C');about.setMnemonic('A');newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputE vent.CTRL_MASK));open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEven t.CTRL_MASK));save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEven t.CTRL_MASK));exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,InputEven t.CTRL_MASK));cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,InputEvent .CTRL_MASK));copy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,InputEven t.CTRL_MASK));paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,InputEve nt.CTRL_MASK));selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,Inpu tEvent.CTRL_MASK));3.4功能代码新建:if(source==newFile){text.setText("");th.setTitle(name);openedPath=null;opened=false;}退出:else if(source==exit){System.exit(0);}全选:else if(source==selectAll)text.selectAll();剪贴:else if(source==cut)text.cut();复制:else if(source==copy)text.copy();粘贴:else if(source==paste)text.paste();关于:else if(source==about){JFrame about = new JFrame("记事本");JLabel label1 = new JLabel("记事本");JLabel label2 = new JLabel("作者:XX ");JLabel label3 = new JLabel("电子邮箱:XXXXXXXXXX "); }保存:else if(source==save){String savePath=openedPath;if(savePath==null){FileDialog saveFile=new FileDialog(th,"保存文件...",FileDialog.SAVE);saveFile.setVisible(true);savePath=saveFile.getDirectory()+saveFile.getFile();}try{FileOutputStream fos=new FileOutputStream(savePath);fos.write(text.getText().getBytes());fos.close();}catch(Exception ex){ex.printStackTrace();}if(source==save)openedPath=savePath;}打开:if(source==open){FileDialog openFile=new FileDialog(th,"打开文件...",FileDialog.LOAD);openFile.setVisible(true);StringfilePath=openFile.getDirectory()+openFile.getFile();try{FileInputStream fis=new FileInputStream(filePath);byte [] content=new byte[fis.available()];fis.read(content);text.setText(new String(content));text.setCaretPosition(0);if(openFile.getFile()!=null){th.setTitle(openFile.getFile()+name);openedPath=filePath;opened=true;}fis.close();}catch(Exception ex){ex.printStackTrace();}opened=true;}颜色:else if(source==color){Color color=JColorChooser.showDialog(text, "选择颜色", Color.BLACK);text.setForeground(color);}第4章系统调试运行4.1 “文件”运行状况图4.1 文件图4.2 编辑图4.3 格式图4.4 帮助第5章课程设计体会这次综合实验我很早就开始准备了,在代码上花费的时间也很多。
我深深地体会到编出一个程序是不容易的,编好一个程序更是不容易的。
在很多功能上,比如说在“关闭”“新建”“打开”记事本时,如果文本没保存或者又被修改,要弹出“询问保存”的对话框,我设置好这一项后,再测试,另一项又出问题了,反复测试反复修改,研究问题的所在。