当前位置:文档之家› java课程设计简单记事本开发内附完整代码流程图等

java课程设计简单记事本开发内附完整代码流程图等

浙江科技学院经济管理学院JAVA语言课程设计报告选题名称简单记事本开发学生学号专业班级学生姓名学生成绩指导教师朱军工作时间2012/06/27——2012/06/29目录第一章选题简介主要利用面向对象的程序设计语言Java来实现简单记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找,替换等功能,区别于一般的记事本,本程序利用了Java swing和事件监听等能够对文字的颜色进行设置。

第二章需求分析1.系统要实现的目标分析菜单中有文件,编辑,格式,视图风格,帮助五个主菜单。

(1)“文件”有新建、打开、保存、另存为、退出五个子菜单:分别用于新建文件,打开文件,保存文件,更改存储地址,退出记事本。

(2)“编辑”中有复制、剪切、粘贴、删除、查找、查找下一个、替换、替换下一个、全选、日期/时间十个字菜单:用于复制文字,剪切文字,粘贴文字,删除文字,查找文字,查找下一个文字,替换文字,替换下一个文字,选择文字,添加日期和者时间。

(3)“格式”中有字体样式、字体大小、字体颜色,自动换行。

字体样式中又包含了正常、粗体、斜体3中字体样式,可以对文字的字体样式做修改。

字体大小中又包含了最大、较大、适中、较小、最小这5个大小范围。

字体颜色可以对字体进行颜色上的修改,是字体更加漂亮。

自动换行能够实现文档在编辑是需要的自动换行功能。

(4)“视图风格”中有MOTIF风格,默认风格,状态栏。

当用户选择MOTIF 风格,软件界面会切换成MOTIF风格界面。

当用户选择默认风格,软件界面会切换成默认风格界面。

点击状态栏时可以对状态栏进行显示和隐藏。

(5)“帮助”中有帮助主题和关于,可以解决用户在使用记事本中的一些问题。

(6)“快捷键”,在菜单栏下面增加了一排快捷键,可以对稳定进行快速的修改、操作等命令。

快捷键主要有新建、打开、保存、复制、剪切、黏贴、删除、查找、字体颜色、帮助主题、退出。

2.对输入输出数据及流程的分析本次设计中,设计了一个菜单栏和文本内容区。

设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。

JMenu用来制作菜单,JTextPane主要用来输入文本。

为了加入颜色的设置,所以加了一个JColorChooser组件。

整个记事本分为2块:菜单栏和内容输入区。

本程序中首先定义一个myfr类继承JFrame作为最底层容器。

Textcontent为程序文本输入区。

Menu为菜单栏。

AboutDialog为关于对话框。

要想记事本完成需求分析中相应的功能,还必须添加事件监听器。

事件监听器不仅要添加在菜单栏和内容输入区,还需加在容器中。

本程序中ActListener实现了ActionListener接口,用来监听并处理所有菜单项和内容输入区为事件源的事件。

另外,还用来WindowListener来监听处理容器关闭触发的事件,WindowListener继承了WindowsAdapter类并覆盖了WindowsClosing方法。

3.开发环境及运行环境分析本记事本的开发环境是在windows XP的环境下开发,运用了JCreator Pro、JDK开发工具,运行环境是SUN的JDK下运行的。

第三章系统设计1.系统功能模块设计图3.1在图3.1中,构造一个note类是要做的3件事情,分别是初始化容器、初始化组件、设置事件监听器。

2.类设计(1).成员变量2.成员方法notfindmethodexit 退出windowClosing 关闭窗口mouseReleased 处理右键弹出菜单类3.界面设计3.1主界面:主界面包含文件、编辑、格式、视图风格、帮助、快捷键功能,用于选择相应的功能。

图3.1主窗口3.2文件:“文件”有新建、打开、保存、另存为、退出功能。

图3.2文件3.3编辑:“编辑”中有复制、剪切、粘贴、删除、查找、查找下一个、替换、替换下一个、全选、日期/时间功能。

图3.3 编辑3.4格式:“格式”中有字体样式、字体大小、字体颜色,自动换行。

图3.4格式3.5视图风格:“视图风格”中有MOTIF风格,默认风格,状态栏。

图3.5视图风格3.6帮助:“帮助”中有帮助主题和关于,可以解决用户在使用记事本中的一些问题。

图3.6帮助第四章测试1.测试用例及结果图4.1主窗口图4.1为运行程序的主窗口。

图4.2打开界面图4.2为打开电脑里的文件的窗口。

图4.3查找界面图4.3是利用软件的查找功能查找文字的界面。

图4.4字体颜色界面图4.4为软件改变字体颜色界面,可以更改成不同颜色的字体。

图4.5MOTIF风格图4.5为软件切换到MOTIF风格得效果图。

本次测试结果成功,基本功能可以实现!2.程序功能的评价本记事本实现了记事本常用的一些功能,文件的新建,可以打开电脑里的文档文件,进行修改和保存,例如可以对文字进行复制、粘贴、剪切、查找、替换、全选等功能。

还可以对字体的大小风格进行设置。

区别于常用记事本的不同之处是本记事本程序可以实现对记事本字体颜色的修改,用户可以自定义文字的颜色,而且本记事本还可以切换成2种不同风格的界面用于编辑。

总体来说本记事本已经实现了工作需要的功能,能够用于一般的编写文字。

不足之处是本记事本还未能设置好页面设置,方便用户进行设置页面的需求。

查找时没有向下查找功能。

不能对字体进一步设置,如设置不同的字体。

程序相对来说比较简单,需要进一步完善。

程序总代码:import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;public class note {public static void main(String[] args){myfr fr=new myfr("JA V A记事本");fr.setSize(560,395);}}///////////////////////////myfr主窗体类//////////////////////////////////////class myfr extends JFrame implements ActionListener{String str,strnext,path,fname; //部分变量的声明JPanel mainpane;JFileChooser choose = new JFileChooser(); //文件对话框Dialog find,replace; //find为查找对话框,replace对话框JTextField findtxt,repltxt; //find为查找对话框的输入文本区,replace对话框的输入文本区Font newfont;JButton findenter,replb; //find为查找对话框,replace对话框的确定按钮JLabel state=new JLabel(" JA V A记事本------未命名文档"); //状态栏JTextArea txt1; //主输入文本区File newfiles;JPopupMenu popm; //弹出菜单声明JMenu m1,m2,m3,m4,m5,m6; //各菜单项JMenuItemm61,m62,m26,m271,m34,m51,m52,m53,m54,p_copy,p_cut,p_paste,p_del;int startp,endp,nexttemp,newstartp,newendp; //查找替换时所用的临时变量JToolBar toolbar = new JToolBar(); //工具条JButton newf=new JButton(new ImageIcon("pic/new.gif")); //图标在PIC下JButton open=new JButton(new ImageIcon("pic/open.gif"));JButton save=new JButton(new ImageIcon("pic/save.gif"));JButton copy=new JButton(new ImageIcon("pic/copy.gif"));JButton cut=new JButton(new ImageIcon("pic/cut.gif"));JButton pp=new JButton(new ImageIcon("pic/pp.gif"));JButton del=new JButton(new ImageIcon("pic/del.gif"));JButton findc=new JButton(new ImageIcon("pic/find.gif"));JButton color=new JButton(new ImageIcon("pic/color.gif"));JButton help=new JButton(new ImageIcon("pic/help.gif"));JButton exit=new JButton(new ImageIcon("pic/exit.gif"));myfr(String sss) /////构造函数开始{super(sss);JMenuBar mb=new JMenuBar();fname=null; //初始文件名为空findenter=new JButton("确定");findenter.addActionListener(this); //声明对话框中上确定按钮,并注册事件replb=new JButton("确定");replb.addActionListener(this);mainpane=(JPanel)this.getContentPane();mainpane.setLayout(new BorderLayout());txt1=new JTextArea("",13,61);txt1.addMouseListener(new handlemouse(this));//注册鼠标右击事件txt1.setFont(new Font("宋体",Font.PLAIN,18));mainpane.add(txt1, BorderLayout.CENTER);mainpane.add("North",toolbar);mainpane.add("South",state);JScrollPane sll = new JScrollPane(); //创建滚动条mainpane.add("Center", sll); ;sll.getViewport().add(txt1); //将滚动条装入文本区popm=new JPopupMenu(); ////POPMeun 开始p_copy=new JMenuItem("复制");p_copy.addActionListener(this);KeyStrokekeycopyp=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);p_copy.setAccelerator(keycopyp);p_cut=new JMenuItem("剪切");p_cut.addActionListener(this);KeyStrokekeycutp=KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK);p_cut.setAccelerator(keycutp);p_paste=new JMenuItem("粘贴");p_paste.addActionListener(this);KeyStrokekeypp=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);p_paste.setAccelerator(keypp);p_del=new JMenuItem("删除");p_del.addActionListener(this);KeyStroke keydelp=KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0);p_del.setAccelerator(keydelp);popm.add(p_copy);popm.add(p_cut);popm.add(p_paste);popm.add(p_del);txt1.add(popm); ////POPMenu 结束m1=new JMenu("文件(F)");m1.setMnemonic('F'); //定义快捷方式JMenuItem m10=new JMenuItem("新建");m10.addActionListener(this); //注册事件监听器KeyStrokekeynew=KeyStroke.getKeyStroke(KeyEvent.VK_N,Event.CTRL_MASK); //定义快捷键m10.setAccelerator(keynew);JMenuItem m11=new JMenuItem("打开");m11.addActionListener(this);KeyStrokekeyopen=KeyStroke.getKeyStroke(KeyEvent.VK_O,Event.CTRL_MASK);m11.setAccelerator(keyopen);JMenuItem m12=new JMenuItem("保存");m12.addActionListener(this);KeyStrokekeysave=KeyStroke.getKeyStroke(KeyEvent.VK_S,Event.CTRL_MASK);m12.setAccelerator(keysave);JMenuItem m13=new JMenuItem("另保存为");m13.addActionListener(this);JMenuItem m14=new JMenuItem("退出");m14.addActionListener(this);KeyStrokekeyexit=KeyStroke.getKeyStroke(KeyEvent.VK_F4,Event.ALT_MASK);m14.setAccelerator(keyexit);////////////////////////////////////////////m2=new JMenu("编辑(E)");m2.setMnemonic('E');JMenuItem m21=new JMenuItem("复制");m21.addActionListener(this);KeyStrokekeycopy=KeyStroke.getKeyStroke(KeyEvent.VK_C,Event.CTRL_MASK);m21.setAccelerator(keycopy);JMenuItem m22=new JMenuItem("剪切");m22.addActionListener(this);KeyStrokekeycut=KeyStroke.getKeyStroke(KeyEvent.VK_X,Event.CTRL_MASK);m22.setAccelerator(keycut);JMenuItem m23=new JMenuItem("粘贴");m23.addActionListener(this);KeyStrokekeyp=KeyStroke.getKeyStroke(KeyEvent.VK_V,Event.CTRL_MASK);m23.setAccelerator(keyp);JMenuItem m24=new JMenuItem("删除");m24.addActionListener(this);KeyStroke keydel=KeyStroke.getKeyStroke(KeyEvent.VK_DELETE,0);m24.setAccelerator(keydel);JMenuItem m25=new JMenuItem("查找");m25.addActionListener(this);KeyStrokekeyfind=KeyStroke.getKeyStroke(KeyEvent.VK_F,Event.CTRL_MASK);m25.setAccelerator(keyfind);m26=new JMenuItem("查找下一个");m26.addActionListener(this);KeyStroke keyfn=KeyStroke.getKeyStroke(KeyEvent.VK_F3,0);m26.setAccelerator(keyfn);m26.setEnabled(false);JMenuItem m27=new JMenuItem("替换");m27.addActionListener(this);KeyStrokekeyrepl=KeyStroke.getKeyStroke(KeyEvent.VK_H,Event.CTRL_MASK);m27.setAccelerator(keyrepl);m271=new JMenuItem("替换下一个");m271.setEnabled(false);m271.addActionListener(this);KeyStroke keyrepn=KeyStroke.getKeyStroke(KeyEvent.VK_F6,0);m271.setAccelerator(keyrepn);JMenuItem m28=new JMenuItem("全选");m28.addActionListener(this);KeyStrokekeyall=KeyStroke.getKeyStroke(KeyEvent.VK_A,Event.CTRL_MASK);m28.setAccelerator(keyall);JMenuItem m29=new JMenuItem("日期/时间");m29.addActionListener(this);m3=new JMenu("格式(O)");m3.setMnemonic('O');JMenu m31=new JMenu("字体样式");JMenuItem m311=new JMenuItem("正常");m311.addActionListener(this);JMenuItem m312=new JMenuItem("粗体");m312.addActionListener(this);JMenuItem m313=new JMenuItem("斜体");m313.addActionListener(this);JMenu m32=new JMenu("字体大小");JMenuItem m321=new JMenuItem("最大");m321.addActionListener(this);JMenuItem m322=new JMenuItem("较大");m322.addActionListener(this);JMenuItem m323=new JMenuItem("适中");m323.addActionListener(this);JMenuItem m324=new JMenuItem("较小");m324.addActionListener(this);JMenuItem m325=new JMenuItem("最小");m325.addActionListener(this);JMenuItem m33=new JMenuItem("字体颜色");m33.addActionListener(this);m34=new JMenuItem("自动换行");m34.addActionListener(this);m5=new JMenu("视图风格(V)");m5.setMnemonic('V');//m51=new JMenuItem("系统风格");//m51.addActionListener(this);m52=new JMenuItem("MOTIF风格");m52.addActionListener(this);m53=new JMenuItem("默认风格");m53.addActionListener(this);m54=new JMenuItem("状态栏");m54.addActionListener(this);m6=new JMenu("帮助(H)");m6.setMnemonic('H');m61=new JMenuItem("帮助主题");m61.addActionListener(this);m62=new JMenuItem("关于");m62.addActionListener(this);m1.add(m10); m1.add(m11); m1.add(m12); m1.add(m13); m1.addSeparator(); m1.add(m14);m2.add(m21); m2.add(m22); m2.add(m23); m2.add(m24); m2.addSeparator(); m2.add(m25);m2.add(m26); m2.add(m27); m2.add(m271); m2.addSeparator(); m2.add(m28);m2.add(m29); m3.add(m31); m31.add(m311); m31.add(m312); m31.add(m313);m3.add(m32); m32.add(m321); m32.add(m322); m32.add(m323); m32.add(m324);m32.add(m325); m3.add(m33); m3.addSeparator(); m3.add(m34); //m5.add(m51);m5.add(m52); m5.add(m53); m5.addSeparator(); m5.add(m54); m6.add(m61);m6.addSeparator(); m6.add(m62); mb.add(m1); mb.add(m2); mb.add(m3);mb.add(m5); mb.add(m6); this.setJMenuBar(mb); //设置菜单栏toolbar.add(newf); //工具栏各按钮newf.setToolTipText("新建");newf.addActionListener(this);toolbar.add(open);open.setToolTipText("打开");open.addActionListener(this);toolbar.add(save);save.setToolTipText("保存");save.addActionListener(this);toolbar.addSeparator();toolbar.add(copy);copy.setToolTipText("复制");copy.addActionListener(this);toolbar.add(cut);cut.setToolTipText("剪切");cut.addActionListener(this);toolbar.add(pp);pp.setToolTipText("粘贴");pp.addActionListener(this);toolbar.add(del);del.setToolTipText("删除");del.addActionListener(this);toolbar.addSeparator();toolbar.add(findc);findc.setToolTipText("查找");findc.addActionListener(this);toolbar.add(color);color.setToolTipText("字体颜色");color.addActionListener(this);toolbar.addSeparator();toolbar.add(help);help.setToolTipText("帮助主题");help.addActionListener(this);toolbar.add(exit);exit.setToolTipText("退出");exit.addActionListener(this);setVisible(true);pack();show();this.addWindowListener(new xxx(this));//toolbar.setBackground(new Color(150,150,240));//txt1.setBackground(new Color(170,180,245));}///构造函数结束///////////////////事件处理/////////////////////////////////////public void actionPerformed(ActionEvent p){if(p.getActionCommand()=="新建"||p.getSource()==newf) //响应菜单及工具栏事件{fname=null; //置文件名为空,便于判断文件是否保存过txt1.setText("");state.setText("JA V A记事本------未命名文档");}if(p.getActionCommand()=="打开"||p.getSource()==open){try {if(this.choose.APPROVE_OPTION==this.choose.showOpenDialog(this)){path=this.choose.getSelectedFile().getPath();fname=this.choose.getSelectedFile().getName();File file=new File(path);int flength=(int)file.length();FileReader fReader=new FileReader(file);char[] data=new char[flength];fReader.read(data,0,flength);txt1.setText(new String(data));state.setText("JA V A记事本------"+path+" 共"+flength+"字节");//状态栏统计文件字节数txt1.setCaretPosition(0);}}catch(IOException e){}}if(p.getActionCommand()=="保存"||p.getSource()==save)if(fname==null) //如果文件名为空,说明文件未被创建,弹出另存为对话框{ othersave(); }try {File savefile=new File(path);savefile.createNewFile();FileWriter fw=new FileWriter(savefile);fw.write(txt1.getText());fw.close();}catch(IOException e){}}if(p.getActionCommand()=="另保存为"){othersave();}if(p.getActionCommand()=="退出"||p.getSource()==exit){exit();}//////////////////编辑////////////////////if(p.getActionCommand()=="复制"||p.getSource()==copy){ txt1.copy(); }if(p.getActionCommand()=="剪切"||p.getSource()==cut){ txt1.cut(); }if(p.getActionCommand()=="粘贴"||p.getSource()==pp){ txt1.paste(); }if(p.getActionCommand()=="删除"||p.getSource()==del){txt1.replaceSelection("");}///////////////////////////////////////////////////////if(p.getActionCommand()=="查找"||p.getSource()==findc) // 创建查找对话框;{find=new Dialog(this,"查找");JPanel p1=new JPanel();JPanel p2=new JPanel();findtxt=new JTextField(7);p1.add(new JLabel("输入要查找字符:"));p1.add(findtxt);p2.add(findenter);find.add("Center",p1);find.add("South",p2);find.setSize(200,100);find.show();if(p.getSource()==findenter) ///点击查找对话框的确定按钮后的事件处理{if(findtxt.getText().equals("")){find.dispose();}else if(!findtxt.getText().equals("")){ find.dispose();str=txt1.getText();startp=str.indexOf(findtxt.getText());endp=startp+findtxt.getText().length();txt1.select(startp,endp);m26.setEnabled(true);newendp=endp;////////获取这次查找的终点notfindmethod();}}//////////////////////////////////////////////////////////if(p.getActionCommand()=="查找下一个"){nexttemp=newendp; /////获取上次查找的终点做为未查找字符串的起点String strall=txt1.getText();txt1.select(nexttemp,strall.length()); /////选中所有未查找的字符串strnext=txt1.getSelectedText();newstartp=strnext.indexOf(findtxt.getText())+nexttemp;/////在未查找的字符串里搜索对应字符的在TXT1中的位置newendp=newstartp+findtxt.getText().length();txt1.select(newstartp,newendp); ////找到相应文本,并选择notfindmethod();}if(p.getActionCommand()=="替换"){m271.setEnabled(true);replace=new Dialog(this,"替换"); // 创建替换对话框;JPanel p1=new JPanel();JPanel p2=new JPanel();JPanel p3=new JPanel();findtxt=new JTextField(7);repltxt=new JTextField(7);p1.add(new JLabel("输入原始字符:"));p1.add(findtxt);p2.add(new JLabel("输入替换字符:"));p2.add(repltxt);p3.add(replb);replace.add("North",p1);replace.add("Center",p2);replace.add("South",p3);replace.setSize(200,150);replace.show();}if(p.getSource()==replb) ///点击替换对话框的确定按钮后的事件处理{replace.dispose();str=txt1.getText();startp=str.indexOf(findtxt.getText());endp=startp+findtxt.getText().length();txt1.replaceRange(repltxt.getText(),startp,endp);newendp=endp; ///获取这次替换的终点}if(p.getActionCommand()=="替换下一个"){nexttemp=newendp; /////获取上次查找的终点做为未查找字符串的起点String strall=txt1.getText();txt1.select(nexttemp,strall.length()); /////选中所有未查找的字符串strnext=txt1.getSelectedText();newstartp=strnext.indexOf(findtxt.getText())+nexttemp;/////在未查找的字符串里搜索对应字符的在TXT1中的位置newendp=newstartp+findtxt.getText().length();txt1.select(newstartp,newendp);notfindmethod();txt1.replaceRange(repltxt.getText(),newstartp,newendp);//替换字符}if(p.getActionCommand()=="全选"){txt1.selectAll(); }if(p.getActionCommand()=="日期/时间") //用DATE类插入当前日期/时间,编译时会出现说明{ int inpoint=txt1.getCaretPosition();Date dt=new Date();String strdate=dt.toLocaleString();txt1.insert(strdate,inpoint);}if(p.getActionCommand()=="正常"){ newfont=txt1.getFont(); //得到当前应用字体,获得字体大小,创建相应样式int size=newfont.getSize();txt1.setFont(new Font("宋体",Font.PLAIN,size)); }if(p.getActionCommand()=="粗体"){ newfont=txt1.getFont();int size=newfont.getSize();txt1.setFont(new Font("宋体",Font.BOLD,size)); }if(p.getActionCommand()=="斜体"){ newfont=txt1.getFont();int size=newfont.getSize();txt1.setFont(new Font("宋体",Font.ITALIC,size)); }////////////字体大小/////////////////if(p.getActionCommand()=="最大"){ newfont=txt1.getFont(); ////得到当前应用字体,获得字体样式,创建相应字体的大小int sty=newfont.getStyle() ;txt1.setFont(new Font("宋体",sty,35)); }if(p.getActionCommand()=="较大"){ newfont=txt1.getFont();int sty=newfont.getStyle() ;txt1.setFont(new Font("宋体",sty,30)); }if(p.getActionCommand()=="适中"){ newfont=txt1.getFont();int sty=newfont.getStyle() ;txt1.setFont(new Font("宋体",sty,18)); }if(p.getActionCommand()=="较小"){ newfont=txt1.getFont();int sty=newfont.getStyle() ;txt1.setFont(new Font("宋体",sty,16)); }if(p.getActionCommand()=="最小"){ newfont=txt1.getFont();int sty=newfont.getStyle() ;txt1.setFont(new Font("宋体",sty,14)); }if(p.getActionCommand()=="字体颜色"||p.getSource()==color) //字体颜色{JColorChooser jColor=new JColorChooser(); //调用颜色面板,设置前景就可更改字体颜色Color fcolor=txt1.getForeground();txt1.setForeground( jColor.showDialog(txt1,"选择字体颜色",fcolor));}if(p.getActionCommand()=="自动换行"){ txt1.setLineWrap(true);m34.setEnabled(false);}//if(p.getActionCommand()=="系统风格") //不稳定,在不同编译平台下表现不一致// { }if(p.getActionCommand()=="MOTIF风格"){ this.dispose();myfr ww=new myfr("我的javaX记事本");try { //MOTIF界面UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel ");SwingUtilities.updateComponentTreeUI(ww);}catch ( Exception e ) {}}if(p.getActionCommand()=="默认风格"){this.dispose();myfr ww=new myfr("我的javaX记事本");try {UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassNa me());SwingUtilities.updateComponentTreeUI(ww);}catch ( Exception e ) {}}if(p.getActionCommand()=="状态栏") //状态栏的隐藏和显视{state.setVisible( !(state.isVisible()) );}/////////////////////帮助///////////////////////////////////////////if(p.getActionCommand()=="帮助主题"||p.getSource()==help){myhelp help=new myhelp();help.setSize(200,240);}if(p.getActionCommand()=="关于"){JLabel prompt=new JLabel("欢迎使用我的JA V AX记事本",JLabel.CENTER);JOptionPane.showMessageDialog(null,prompt,"关于我的JA V AX记事本",RMATION_MESSAGE);}}public void othersave() //另存为方法{if(choose.APPROVE_OPTION==choose.showSaveDialog(this)){path=choose.getSelectedFile().getPath();newfiles=new File(path);state.setText("JA V A记事本------"+path);fname=choose.getSelectedFile().getName();;try {newfiles=new File(path);newfiles.createNewFile();FileWriter fw=new FileWriter(newfiles);fw.write(txt1.getText());fw.close();}catch(IOException e){}}}public void notfindmethod() //提示查找不到的方法notfindmethod{if(!txt1.getSelectedText().equals(findtxt.getText())){ txt1.setCaretPosition(0); //光标返回文件头部JOptionPane.showMessageDialog(null,"查找不到对应的字符!","查找错误",JOptionPane.ERROR_MESSAGE);m26.setEnabled(false); }}public void exit(){ int value;String[] qq={"返回", "退出"};value=JOptionPane.showOptionDialog(null, "你确定退出吗?请注意保存文件!", "退出程序?",JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE,null, qq, qq[0]);if(value==JOptionPane.YES_OPTION)return;else if(value==JOptionPane.NO_OPTION){ System.exit(0); }}}//主窗口类结束//class xxx extends WindowAdapter //关闭窗口XXX类////////////{myfr fx;xxx(myfr fxx){fx=fxx;}public void windowClosing(WindowEvent e){ JOptionPane.showMessageDialog(null,"欢迎使用本软件!","退出",RMATION_MESSAGE);fx.dispose();System.exit(0);}}class xxxhelp extends WindowAdapter //关闭帮助主题窗口类XXXhelp{myhelp fx;xxxhelp(myhelp fxx){fx=fxx;}public void windowClosing(WindowEvent e){fx.dispose();}}class myhelp extends JFrame //帮助主题类/////////////////{TextArea helparea;myhelp(){super("我的帮助主题");helparea=new TextArea("",45,25,TextArea.SCROLLBARS_NONE);//创建没有滚动条的帮助窗口helparea.setText(" ");helparea.append("JA V A记事本是一个用来创建简单的文档的基本的文本编辑器.可用于打开查看TXT文档。

相关主题