本文实例为大家分享了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的文件,效果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Java文件(io)编程之文件字符流使用方法详解,包括了Java文件(io)编程之文件字符流使用方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了文件字符流的使用方法,供大家参考,具体内容如下 案例1: 读取一个文件并写入到另一个文件中,char[] 来中转。 首先要在E盘下创建一个文本文档,命名为test.txt,输入一些字符串。 打开D盘的test.txt文件
本文向大家介绍Java图形界面开发之简易记事本,包括了Java图形界面开发之简易记事本的使用技巧和注意事项,需要的朋友参考一下 在学习了Java事件之后,自己写了一个极其简单的记事本。用到了MenuBar,Menu,MenuITem等控件,事件包括ActionListener以及KeyListener。 代码如下: 运行结果如图所示: 本程序实现的功能有: (1)可以打开某个文件,并且可以编辑。
本文向大家介绍Java 编程之IO流资料详细整理,包括了Java 编程之IO流资料详细整理的使用技巧和注意事项,需要的朋友参考一下 java IO详解: Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操
本文向大家介绍java并发编程之cas详解,包括了java并发编程之cas详解的使用技巧和注意事项,需要的朋友参考一下 CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术。简单来说,比较和替换是使用一个期望值和一个变量的当前值进行比较,如果当前变量的值与我们期望的值相等,就使用一个新值替换当前变量的值。这听起来可能有一点复杂但是实际上你理解之后发现很简单,接下来,让
本文向大家介绍详解Python IO编程,包括了详解Python IO编程的使用技巧和注意事项,需要的朋友参考一下 文件读写 读文件 写文件 写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件 可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到
本文向大家介绍Android编程开发之NotiFication用法详解,包括了Android编程开发之NotiFication用法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程开发之NotiFication用法。分享给大家供大家参考,具体如下: notification就是通知的意思,安卓中指通知栏,一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小