XXXXXXXX计算机学院课程设计报告书学生姓名: XXXX学院:计算机学院专业班级:软件工程专业课程: JAVA语言程序设计指导教师:2014 年 6 月 13 日目录第1章系统设计目的 (1)第2章系统实现思路 (2)第3章系统详细设计 (3)第4章系统调试运行 (7)第5章课程设计体会 (8)第6章参考文献 (9)第7章附录 (10)第1章系统设计目的复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;培养学生在项目开发中团队合作精神,创新意识及能力掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法掌握JAVA语言常用类包及其常用方法和JAVA语言基本语法第2章系统实现思路总体功能实现图总体功能实现图记事本菜单操作流程图图“文件”菜单操作流程图第3章系统详细设计界面设计创建一个下拉菜单和文本域,在文本域中显示编辑的文件信息。
主要代码: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)");窗口大小主要代码:Notebook(String name){super(name);=name;int x,y;Dimension size=().getScreenSize();x=/2;y=/2;setSize(600,400);setLocation(x,y);setMinimumSize(new Dimension(250,150));setDefaultCloseOperation(EXIT_ON_CLOSE);}定义快捷键主要代码:('F');('E');('O');('H');('N');('O');('S');('X');('T');('C');('P');('A');('C');('A');,);,);,);,);,);,);,);,);功能代码新建:if(source==newFile){("");(name);openedPath=null;opened=false;}退出:else if(source==exit){(0);}全选:else if(source==selectAll)();剪贴:else if(source==cut)();复制:else if(source==copy)();粘贴:else if(source==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,"保存文件...",;(true);savePath=()+();}try{FileOutputStream fos=newFileOutputStream(savePath);().getBytes());();}catch(Exception ex){();}if(source==save)openedPath=savePath;}打开:if(source==open){FileDialog openFile=new FileDialog(th,"打开文件...",;(true);String filePath=()+();try{FileInputStream fis=new FileInputStream(filePath);byte [] content=new byte[()];(content);(new String(content));(0);if()!=null){()+name);openedPath=filePath;opened=true;}();}catch(Exception ex){();}opened=true;}颜色:else if(source==color){Color color=(text, "选择颜色", ;(color);}第4章系统调试运行“文件”运行状况图文件图编辑图格式图帮助第5章课程设计体会这次综合实验我很早就开始准备了,在代码上花费的时间也很多。
我深深地体会到编出一个程序是不容易的,编好一个程序更是不容易的。
在很多功能上,比如说在“关闭”“新建”“打开”记事本时,如果文本没保存或者又被修改,要弹出“询问保存”的对话框,我设置好这一项后,再测试,另一项又出问题了,反复测试反复修改,研究问题的所在。
其实这些或许是没必要的,但是一个程序真正的要做到“健壮性”不出现BUG,确实要下功夫的。
通过这次实验,我还明白了,我们应该学会是如何学习的方法而不仅仅是知识。
JAVA世界很大很开阔,书上的那些知识太少了,课堂上的时间是有限的,我们应该掌握的是学习的方法,比如说学会如果查API解决问题。
读别人的程序是一个不错的方法,在别人的程序中我学到了很多知识。
可能仅仅是几句代码就会使程序得到很大的改善。
比如说我记事本构造方法开头中有一个设置“观感”的语句,这就是我在看别人的程序时看到的,加上这几句后记事本的样式就得到了很大改变,看上去和Windows的记事本差不了多少了。
编程序还是要多练习,练得多了就熟练了,对知识的掌握也更加深入了。
这次综合实验是我第一次独立地编写了一个完整的程序,虽然还有很多不足,但毕竟也是自己的心血啊,对于这个结果自己还是很满意很欣慰的,更重要的是我收获了很多,无论是专业知识还是学习方法,我相信对我以后的生活和学习都会产生积极影响的!第6章参考文献1:孙涛,Java语言课程设计实践教程. 北京:清华大学出版社,2012. 2:张思民.Java语言程序设计. 北京:清华大学出版社,2007.附录:源代码import .*;import .*;import .*;import class Notebook extends JFrame{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)");JPopupMenu popupMenu = new JPopupMenu();JMenuItem MenuMouseCut = new JMenuItem("剪切(T)");JMenuItem MenuMouseCopy = new JMenuItem("复制(C)");JMenuItem MenuMousePaste = new JMenuItem("粘贴(P)");JMenuItem MenuMouseselectAll = new JMenuItem("全选(A)");JFrame th=this;String name;String openedPath=null;boolean opened=false;boolean reworked=false;Notebook(String name){super(name);=name;int x,y;Dimension size=().getScreenSize();x=/2;y=/2;setSize(600,400);setLocation(x,y);setMinimumSize(new Dimension(250,150));setDefaultCloseOperation(EXIT_ON_CLOSE); }void init(){('F');('E'); ('O');('H');('N');('O');('S');('X');('T');('C');('P');('A');('C');('A');,);,);,);,);,);,);,);,);(newFile); (open); (save); (); (exit);(); (cut); (copy); (paste); (); (selectAll);(color);(about);(files);(edit);(formats);(help);setJMenuBar(menub);getContentPane().add(new JScrollPane(text));(MenuMouseCut);(MenuMouseCopy);(MenuMousePaste);(MenuMousePaste);(MenuMouseselectAll);Listen listen=new Listen();Listen1 listen1=new Listen1();(listen);(listen);(listen);(listen);(listen);(listen);(listen);(listen);(listen);(listen);(listen1);(listen1);(new MouseAdapter(){public void mousePressed(MouseEvent e){checkForTriggerEvent(e);}public void mouseReleased(MouseEvent e){checkForTriggerEvent(e);}private void checkForTriggerEvent(MouseEvent e){if()){(),(),());}}});(new ActionListener(){public void actionPerformed(ActionEvent e){();}});(new ActionListener(){public void actionPerformed(ActionEvent e){();}});(new ActionListener(){public void actionPerformed(ActionEvent e){();}});(new ActionListener(){public void actionPerformed(ActionEvent e){();}});}class Listen implements ActionListener{public void actionPerformed(ActionEvent e){Object source=();if(source==newFile){("");(name);openedPath=null;opened=false;}else if(source==exit){(0);}else if(source==selectAll)();else if(source==cut)();else if(source==copy)();else if(source==paste)();else if(source==about){JFrame about = new JFrame("记事本");JLabel label1 = new JLabel("记事本");JLabel label2 = new JLabel("作者:王合");JLabel label3 = new JLabel("电子邮箱:");GridBagLayout layout = new GridBagLayout();(layout);GridBagConstraints n1 = new GridBagConstraints();= 0;= 0;= 10;= 10;=;GridBagConstraints n2 = new GridBagConstraints();= 0;= 15;= 10;= 10;=;GridBagConstraints n3 = new GridBagConstraints();= 0;= 25;= 10;= 10;=;(label1,n1);(label2,n2);(label3,n3);(label1);(label2);(label3);(200,100);(300,200);(true);(false);}else if(source==color){Color color=(text, "选择颜色", ; (color);}}}class Listen1 implements ActionListener{public void actionPerformed(ActionEvent e){Object source=();if(source==open){FileDialog openFile=new FileDialog(th,"打开文件...",;(true);String filePath=()+();try{FileInputStream fis=new FileInputStream(filePath);byte [] content=new byte[()];(content);(new String(content));(0);if()!=null){()+name);openedPath=filePath;opened=true;}();}catch(Exception ex){();}opened=true;}else if(source==save){String savePath=openedPath;if(savePath==null){FileDialog saveFile=new FileDialog(th,"保存文件...",;(true);savePath=()+();}try{FileOutputStream fos=new FileOutputStream(savePath);().getBytes());();}catch(Exception ex){();}if(source==save)openedPath=savePath;}}}public static void main(String[] args){try{( ());}catch (Exception e){"不能使用该系统的外观和感觉:"+e);}String name=("记事本");Notebook note=new Notebook(name);();(true);}}。