Java文件(io)编程之记事本开发详解
程序员文章站
2024-02-22 08:45:52
本文实例为大家分享了java开发简易记事本的具体代码,供大家参考,具体内容如下
public class notepad extends jframe imple...
本文实例为大家分享了java开发简易记事本的具体代码,供大家参考,具体内容如下
public class notepad extends jframe implements actionlistener{ //定义需要的组件 jtextarea jta=null; //多行文本框 jmenubar jmb=null; //菜单条 jmenu jm1=null; //菜单 jmenuitem jmi1=null,jmi2=null; //菜单项 public static void main(string[] args) { notepad np=new notepad(); } public notepad(){ //构造函数 jta=new jtextarea(); //创建jta jmb=new jmenubar(); jm1=new jmenu("文件"); jm1.setmnemonic('f'); //设置助记符 jmi1=new jmenuitem("打开",new imageicon("imag_3.jpg")); jmi1.addactionlistener(this); //注册监听 jmi1.setactioncommand("open"); jmi2=new jmenuitem("保存"); jmi2.addactionlistener(this); jmi2.setactioncommand("save"); this.setjmenubar(jmb); //加入 jmb.add(jm1); //把菜单放入菜单条 jm1.add(jmi1); //把item放入到menu中 jm1.add(jmi2); this.add(jta); //放入到jframe this.setdefaultcloseoperation(jframe.exit_on_close); this.setsize(400,300); this.settitle("记事本"); this.seticonimage((new imageicon("imag_2.jpg")).getimage()); this.setvisible(true); } @override public void actionperformed(actionevent arg0) { //判断是哪个菜单被选中 if(arg0.getactioncommand().equals("open")){ //jfilechooser,创建一个文件选择组件 jfilechooser jfc1=new jfilechooser(); jfc1.setdialogtitle("请选择文件……"); //设置名字 jfc1.showopendialog(null); //默认方式 jfc1.setvisible(true); //显示 //得到用户选择的文件全路径 string filename=jfc1.getselectedfile().getabsolutepath(); filereader fr=null; bufferedreader br=null; try { fr=new filereader(filename); br=new bufferedreader(fr); //从文件中读取信息并显示到jta string s=""; string allcon=""; while((s=br.readline())!=null){ //循环读取文件,s不为空即还未读完毕 allcon+=s+"\r\n"; } jta.settext(allcon); //放置到jta } catch (exception e) { e.printstacktrace(); }finally{ try { fr.close(); br.close(); } catch (exception e) { e.printstacktrace(); } } }else if(arg0.getactioncommand().equals("save")){ //出现保存对话框 jfilechooser jfc2=new jfilechooser(); jfc2.setdialogtitle("另存为……"); jfc2.showsavedialog(null); //按默认的方式显示 jfc2.setvisible(true); //得到用户希望把文件保存到何处,文件全路径 string filename2=jfc2.getselectedfile().getabsolutepath(); //准备写入到指定文件 filewriter fw=null; bufferedwriter bw=null; try { fw=new filewriter(filename2); bw=new bufferedwriter(fw); bw.write(this.jta.gettext()); } catch (exception e) { e.printstacktrace(); }finally{ try { bw.close(); } catch (ioexception e) { e.printstacktrace(); } } } } }
运行效果如下
点击文件按钮,点击打开菜单项,选择一个文本文件,效果如下:
打开后,内容显示如下:
对内容稍作修改,另存为名为sss的文件,效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。