importjava.awt.*;importjava.awt.event.*;importjava.io.*;publicclassNotepad/*implementsActionListener,MouseListener,MouseMotionListener,WindowListener,ItemListener,KeyListener,TextListener*/{//成员变量privateFramemainFrame;//主框架privateMenuBarmb;//菜单条privateMenumFile,mEdit,mFormat,mHelp;//菜单:文件,编辑,格式,帮助privateMenuItemmiNew,miOpen,miSave,miSaveAs,miExit;//文件菜单项:新建,打开,保存,另存为,退出privateMenuItemmiCut,miCopy,miPaste,miDelete;//编辑菜单项:剪切,复制,粘贴,删除privateMenuItemmiFont,miLowtoCapital,miCapitaltoLow,miEncrypt,miDisencrypt;//格式菜单项:字体privateMenuItemmiAboutNotepad;//帮助菜单项:关于记事本privateTextAreata;//文本区privateStringtempString;//临时字符串,用于存储需要复制粘贴的字符串privatebooleantextValueChanged=false;privateintid_font;//字体StringfileName=;//上次保存后的文件名和地址//构造函数publicNotepad(){//框架mainFrame=newFrame(Notepadv0.99byLaunching);mb=newMenuBar();ta=newTextArea(30,60);ta.setFont(newFont(TimesNewRome,Font.PLAIN,15));ta.setBackground(newColor(0,250,200));//菜单条mFile=newMenu(文件);mEdit=newMenu(编辑);mFormat=newMenu(格式t);mHelp=newMenu(帮助);//文件miNew=newMenuItem(新建);miOpen=newMenuItem(打开);miSave=newMenuItem(保存);miSaveAs=newMenuItem(另存为);miExit=newMenuItem(退出);//编辑miCut=newMenuItem(剪切);miCopy=newMenuItem(复制);miPaste=newMenuItem(粘贴);miDelete=newMenuItem(删除);//格式miFont=newMenuItem(Font);miLowtoCapital=newMenuItem(LowtoCapital);miCapitaltoLow=newMenuItem(CapitaltoLow);miEncrypt=newMenuItem(Encrypt);miDisencrypt=newMenuItem(Disencrypt);//帮助miAboutNotepad=newMenuItem(关于Notepad);//添加文件菜单项mFile.add(miNew);mFile.add(miOpen);mFile.add(miSave);mFile.add(miSaveAs);mFile.add(miExit);//添加编辑菜单项mEdit.add(miCut);mEdit.add(miCopy);mEdit.add(miPaste);mEdit.add(miDelete);//添加格式菜单项mFormat.add(miFont);mFormat.add(miLowtoCapital);mFormat.add(miCapitaltoLow);mFormat.add(miEncrypt);mFormat.add(miDisencrypt);//添加帮助菜单项mHelp.add(miAboutNotepad);//菜单条添加菜单mb.add(mFile);mb.add(mEdit);mb.add(mFormat);mb.add(mHelp);//框架添加菜单条mainFrame.setMenuBar(mb);//初始字符串赋为空tempString=;//添加文本区mainFrame.add(ta,BorderLayout.CENTER);mainFrame.setSize(800,500);mainFrame.setLocation(100,100);//起始位置mainFrame.setResizable(true);//不可更改大小mainFrame.setVisible(true);//mainFrame.pack();/////////////////////////增加监视器////////////////////////主框架mainFrame.addWindowListener(newWindowAdapter(){//关闭窗口publicvoidwindowClosing(WindowEvente){System.exit(0);}});//文本区ta.addKeyListener(newKeyAdapter(){publicvoidKeyTyped(KeyEvente){textValueChanged=true;//键盘按键按下即导致文本修改}});////////////////文件菜单:////////////////////////新建miNew.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){ta.replaceRange(,0,ta.getText().length());//清空文本区的内容fileName=;//文件名清空}});//打开miOpen.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){FileDialogd=newFileDialog(mainFrame,openfile,FileDialog.LOAD);//打开文件对话框d.addWindowListener(newWindowAdapter(){//关闭文件对话框窗口publicvoidwindowClosing(WindowEventee){System.exit(0);}});d.setVisible(true);Filef=newFile(d.getDirectory()+d.getFile());//建立新文件fileName=d.getDirectory()+d.getFile();//得到文件名charch[]=newchar[(int)f.length()];///用此文件的长度建立一个字符数组try//异常处理{//读出数据,并存入字符数组ch中BufferedReaderbw=newBufferedReader(newFileReader(f));bw.read(ch);bw.close();}catch(FileNotFoundExceptionfe){System.out.println(filenotfound);System.exit(0);}catch(IOExceptionie){System.out.println(IOerror);System.exit(0);}Strings=newString(ch);ta.setText(s);//设置文本区为所打开文件的内容}});//保存miSave.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){if(fileName.equals()){//如果文件没有被保存过,即文件名为空FileDialogd=newFileDialog(mainFrame,savefile,FileDialog.SAVE);//保存文件对话框d.addWindowListener(newWindowAdapter(){//关闭文件对话框窗口publicvoidwindowClosing(WindowEventee){System.exit(0);}});d.setVisible(true);Strings=ta.getText();//得到所输入的文本内容try//异常处理{Filef=newFile(d.getDirectory()+d.getFile());//新建文件fileName=d.getDirectory()+d.getFile();//得到文件名BufferedWriterbw=newBufferedWriter(newFileWriter(f));//输入到文件中bw.write(s,0,s.length());bw.close();}catch(FileNotFoundExceptionfe_){System.out.println(filenotfound);System.exit(0);}catch(IOExceptionie_){System.out.println(IOerror);System.exit(0);}}else//如果文件已经保存过{Strings=ta.getText();//得到所输入的文本内容try//异常处理{Filef=newFile(fileName);//新建文件BufferedWriterbw=newBufferedWriter(newFileWriter(f));//输入到文件中bw.write(s,0,s.length());bw.close();}catch(FileNotFoundExceptionfe_){System.out.println(filenotfound);System.exit(0);}catch(IOExceptionie_){System.out.println(IOerror);System.exit(0);}}}});//另存为miSaveAs.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){FileDialogd=newFileDialog(mainFrame,savefile,FileDialog.SAVE);//保存文件对话框d.addWindowListener(newWindowAdapter(){//关闭文件对话框窗口publicvoidwindowClosing(WindowEventee){System.exit(0);}});d.setVisible(true);Strings=ta.getText();//得到所输入的文本内容try//异常处理{Filef=newFile(d.getDirectory()+d.getFile());//新建文件BufferedWriterbw=newBufferedWriter(newFileWriter(f));//输入到文件中bw.write(s,0,s.length());bw.close();}catch(FileNotFoundExceptionfe_){System.out.println(filenotfound);System.exit(0);}catch(IOExceptionie_){System.out.println(IOerror);System.exit(0