Home >Java >javaTutorial >Detailed explanation of examples of Notepad development using Java file programming

Detailed explanation of examples of Notepad development using Java file programming

黄舟
黄舟Original
2017-08-13 09:38:141832browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn