记事本

                                                                               记事本

    主要介绍用java code来实现 一个记事本。有新建文件和保存文件,关闭文件,退出等小功能。在此小编来给大家来分享一下这些源码!

</pre><pre name="code" class="java">import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.*;
import javax.swing.*;
/*
 * MenuBar:菜单条,Menu:主菜单项,MenuItem:子菜单项
 * MenuBarObject.add(MenuObject) 主菜单添加菜单条中
 *  setMenubar();将菜单添加到窗体中
 */

public class TextEditor extends Frame implements ActionListener{
	
	MenuBar mainmenubar = new MenuBar();  // 声明菜单条
	
	Menu file ; // 声明主菜单项
	MenuItem nw ;  // 子菜单项
	MenuItem op ;  
	MenuItem cl ; 
	MenuItem ex ; 
	MenuItem sf ;
	TextArea tx ;  // 声明文本区对象
	 
	 public TextEditor(String title){
		 super(title); 
		 CloseHandler handler = new CloseHandler(); // 定义窗体事件的侦听器对象
		 this.addWindowListener(handler);
		 setSize(400,400);  //  设置大小
		 setLocationRelativeTo(null);  // 窗体在屏幕上居中
		 menuinit();
		 tx = new TextArea();  // 创建文本区对象
	      this.add(tx);
	      this.setVisible(true);
		 
		 
		 
	 }
	 // 菜单构建与处理
	 void menuinit()
	 {
		 mainmenubar = new MenuBar();  // 定义主菜单栏
		 file = new Menu("文件");
		 nw  = new MenuItem("新建文件夹");
		 op = new MenuItem("打开文件");
		  cl = new MenuItem("关闭文件");
		  sf = new MenuItem("保存文件");
		  ex = new MenuItem("退                    出");
		  file.add(nw);
		  file.add(cl);
		  file.add(sf);
		  file.add(ex);
		  mainmenubar.add(file);    // 将主菜单项加入主菜单栏
		  setMenuBar(mainmenubar);    // 为窗体设置主菜单
		  nw.addActionListener(this);
		  op.addActionListener(this);
		  cl.addActionListener(this);
		  sf.addActionListener(this);
		  ex.addActionListener(this);
		  
		  
	 }
	  //  窗体的ActionEvent 处理
	 public void actionPerformed(ActionEvent e){
		  
		   Object ob = e.getSource();
		   JFileChooser f = new JFileChooser();
		   
		   if((ob==nw)||(ob==cl)){  // 选择新建文件或关闭文件子菜单项
			   tx.setText(" ");
		   }
		   
		   else if(ob == op){
			   f.showOpenDialog(this);
			   
			   StringBuffer s = new StringBuffer();
			   FileReader in;
			try {
				in = new FileReader(f.getSelectedFile());
				 while(true){
					   int b = in.read();
					   if(b== -1)
						   break ;
					   s.append((char)b);
				   }
				   tx.setText(s.toString()); // 将文件内容显示在文本区
				   in.close(); // 关闭文件
			} catch (Exception e1) {
				// TODO 自动生成的 catch 块
			 
			}
			   
			  
		   }
		   else if(ob == sf){
			   f.showSaveDialog(this);  // 显示文件选择对话框
			   try{
			   FileWriter out = new FileWriter(f.getSelectedFile());
			   out.write(tx.getText());
			    out.close();
			   }catch(Exception ee){
				   
			   }
			   
		   }
		   else if(ob == ex){
			   System.exit(0);  // 退出系统
		   }
		   
		   
		   
		   
		 
	 }
	 
	 public static void main(String[] args)
	 {
		 new TextEditor("简易文本编辑器");
	 }
	 
	 
	 
	 
	

}
  // CloseHandler 实现窗体关闭
class CloseHandler extends WindowAdapter{
	
	public void windowClosing(WindowEvent e){
	  System.exit(0);
	}
	
}

 

 


               

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值