《用Java程序编写一个记事本程序的设计报告.docx》由会员分享,可在线阅读,更多相关《用Java程序编写一个记事本程序的设计报告.docx(24页珍藏版)》请在第一文库网上搜索。
1、用JaVa程序编写一个记事本程序的设计报告学习中心(点):泾阳学习中心专业:计算机科学与技术层次:专升本姓名:李永固批次112一设计分析1二、程序结构1三各模块的功能及程序说明21、类设计22、主要功能代码实现4四源程序9五操作方法20六试验结果20七设计体会22用JaVa程序编写一个记事本程序的设计报告一、设计要求1 .用图形用户界面实现。2 .能实现编辑、保存、另存为、查找替换等功能。二、程序结构流程图:图1基本流程图本JaVa文本编辑器功能设计如下:图2基本功能图三、各模块的功能及程序说明1、类设计(1)类MiniTeXt,包括initTextPane方法初始化面板,initMenu()
2、方法初始化菜单,initAboutDia1og()方法初始化关于对话框,initToo1Bar()方法初始化工具栏,initRightKey()方法初始化右键设置,等方法。类成员如下:潺X胃明?A爸晨:Ie co1or:Co1or.getFont:GraPhiCSEnvironmentfonts:Fonthtext:JTextFanefi1echooser:JFi1eChooserco1orchooser:JCo1orChooser.about:JDia1ogmenubar:JMenuBar prt:PrinterJobdate:GregOriaI1CaIendarht:String.time
3、:J1abe1datetime:runtimetoo1bar:JToo1Barofi1epopup:JPopupMenuOUTmdo:JMenuItem.ocent:JMenuItemOccopy:JMenuItemOPPaSte:JMenuItemOdde1ete:JMenuItemOSse1ecta11:JMenuItem AinitRightKeyOACMiniTextO卜initTextPaneO menus:JMenumenuitems:JMenuItem initMenuO1/action:Action1istener.saveFi1eO openFi1eOinitAboutDia
4、1ogObuttons:JButton initToo1BarO(2)类1Oading(实现登陆)类成员如下:导入声明 d1uThread:Threadprogress:JProgressBar 。C1oadingO StartO a4runO(3)类runtime(实现时间同步)类成员如下:j导入声明.datetime:ThreadC.runtime()QArun0(4)类MainFunction(包含主函数)类成员如下:一薄买,明;QSmain(String)2、主要功能代码实现(1)登陆界面:c1ass1oadingextendsJWindowimp1ementsRunnab1eThre
5、add1uThread=nu11;privateJProgressBarprogress;pub1ic1oadingOSetCUrSor(CUrSOr.getPredeAnedCursor(Cursor.WAIT_CURSOR);设置光标为等待状态JPane1d1u=newJPane1(newBorder1ayoutQ);UR1ur1=getC1ass().getResource(7images1oading.jpg);if(ur1!=nu11)d1u.add(newJButton(newImage1con(ur1),Border1ayout.CENTER);)progress=newJPro
6、gressBar(1,100);progress.setStringPainted(true);progress.setBorderPainted(true);progress.setBackground(Co1or.white);progress.setForeground(Co1or.green);d1u.add(progress,Border1ayout.SOUTH);setContentPane(d1u);设置窗口属性为登陆面板属性Dimensionscreen=getToo1kit().getScreenSize();pack();显示登陆界面set1ocation(screen.w
7、idth4,screen.height4);/设置登陆界面始终在屏幕中间显示)pub1icvoidstart()/this.toFront();d1uThread=newThread(this);d1uThread.start();pub1icvoidrun()show();try(for(inti=0;i100;i+)Thread,s1eep(100);progress.setVa1ue(progress.getVa1ue()+1);progress.setString(欢迎进入迷你编辑,请稍后+i+%);catch(Exceptionex)ex.printStackTrace();disp
8、ose。;/关闭登陆界面(2).时间标签:c1assruntimeextendsJButtonimp1ementsRunnab1eThreaddatetime=nu11;pub1icruntime()pub1icvoidrun()for(;)/Zjava.uti1.Datetimeer=newjava.uti1.Date();Ca1endarnoW=Ca1endar.get1nstance();intyear1=now.get(Ca1endar.YEAR);intmonth1=now.get(Ca1endar.MONTH);intday1=now.get(Ca1endar.DAY_OF_MON
9、TH);inthour1=now.get(Ca1endar.HOUR);intminute1=now.get(Ca1endar.MINUTE);intsec=now.get(Ca1endar.SECOND);setText(year1+年,+month1+月+day1+日,+hour1+nf,+minute1+,f,+sec);/System.out.print1n(now.get(Ca1endar.DAY_OF_MONTH)-60);try(Thread.currentThread().s1eep(1000);catch(InterruptedExceptione)(3)右键的实现:void
10、InitRightKey()fi1epopup=newJPopupMenu();uundo=newJMemIItem(撤消(U);uundo.setMnemonic(,U,);ccut=newJMemIItem(剪切(T)ccut.setMnemonic(,T,);ccopy=newJMemI1tem(复制(C);ccopy.setMnemonic(,C);ppaste=newJMeIIiIItem(粘贝占(V)n);ppaste.setMnemonic(,V,);dde1ete=newJMeIIIIItem(删除(D);dde1ete.setMnemonic(,D);sse1ecta11=n
11、ewJMenuItem(全选(A);sse1ecta11.setMnemonic(,A,);fi1epopup.add(uundo);fi1epopup.addSeparator();fi1epopup.add(ccut);fi1epopup.add(ccopy);fi1epopup.add(ppaste);fi1epopup.add(dde1ete);fi1epopup.addSeparator();fi1epopup.add(sse1ecta11);uundo.addAction1istener(action);ccut.addAction1istener(action);ccopy.ad
12、dAction1istener(action);ppaste.addAction1istener(action);dde1ete.addAction1istener(action);sse1ecta11.addAction1istener(action);text.addMouse1istener(newMouseAdapter()pub1icvoidmousePressed(MouseEventevent)checkForTriggerEvent(event);)pub1icvoidmouseRe1eased(MouseEventevent)=WORD完整版可编辑专业资料分享=checkFo
13、rTriggerEvent(event);pub1icvoidcheckForTriggerEvent(MouseEventevent)if(eVen1isPopupTrigger()fi1epopup.show(event.getComponent(),event.getX(),event.getY(););j迷你文档编辑器制作人:白千峰向11文件编辑格式查看工具S5助I国画1*1同刈臼你好,欢迎使用迷你编辑器!撤消(U)剪切(I)复制()粘贴M删除(Q)全选2008年6月4日11:2:0(4)打开、保存、复制、粘贴、撤销等功能事件响应实现:事件处理Action1isteneraction=
14、newAction1istenerO(pub1icvoidactionPerformed(ActionEvente)JMenuItemmi=(JMenuItem)e.getSource();Stringid=mi.getText();if(id.equa1s(“新建)Datedate=newDate();text.setText(date.toString();fi1e=nu11;e1seif(idequa1s(打开)if(fi1eI=nu11)fi1echooser.setSe1ectedFi1e(衍1e);为用户选择文件提供了一种简单的机制intreturnVa1=fi1echooser.showOpenDia1og(MiniText.this);if(returnVa1=JFi1eChooser.APPROVE_OPTION)fi1e=fi1echooser.g