


This article mainly introduces the notepad development of Java file (io) programming in detail. It has a certain reference value. Interested friends can refer to it.
The examples in this article are shared with you. The specific code for Java development of simple notepad is for your reference. The specific content is as follows
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(); } } } } }
The running effect is as follows
Click the File button, click the Open menu item, and select a text file. The effect is as follows:
After opening, the content is displayed as follows:
Slightly modify the content and save it as a file named sss. The effect is as follows:
The above is the detailed content of Detailed explanation of examples of Notepad development using Java file programming. For more information, please follow other related articles on the PHP Chinese website!

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于结构化数据处理开源库SPL的相关问题,下面就一起来看一下java下理想的结构化数据处理类库,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于PriorityQueue优先级队列的相关知识,Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于java锁的相关问题,包括了独占锁、悲观锁、乐观锁、共享锁等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于多线程的相关问题,包括了线程安装、线程加锁与线程不安全的原因、线程安全的标准类等等内容,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于枚举的相关问题,包括了枚举的基本操作、集合类对枚举的支持等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要介绍了关于关键字中this和super的相关问题,以及他们的一些区别,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于平衡二叉树(AVL树)的相关知识,AVL树本质上是带了平衡功能的二叉查找树,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Java的相关知识,其中主要整理了Stream流的概念和使用的相关问题,包括了Stream流的概念、Stream流的获取、Stream流的常用方法等等内容,下面一起来看一下,希望对大家有帮助。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Chinese version
Chinese version, very easy to use

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft