⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 note.java

📁 实现记事本的新建,保存,复制,粘贴等基本功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*; 
import java.awt.event.*;
import java.net.*; 
import javax.swing.*; 
import javax.swing.event.*; 
import java.awt.datatransfer.*; 
import java.io.*; 
import javax.swing.undo.*; 
import javax.swing.border.*;
import java.text.*;
//import java.applet.*;
import java.lang.*;
import javax.swing.JTextPane.*;


public class Note /*implements ActionListener , MouseListener , MouseMotionListener , WindowListener , ItemListener , KeyListener, TextListener */
{
 //成员变量
 private Frame mainFrame;//主框架
 private MenuBar mb ;     //菜单条
 private Menu mFile , mEdit , mFormat , mHelp,mLook ; //菜单:文件,编辑,格式,帮助
 private MenuItem miNew , miOpen , miSave , miSaveAs , miExit ;//文件菜单项:新建,打开,保存,另存为,退出
 private MenuItem miCut , miCopy , miPaste , miDelete,miSearch,miSelectAll;//编辑菜单项:剪切,复制,粘贴,删除
 private MenuItem miFont,miColor,miSize;//格式菜单项:字体
 private MenuItem miState;              //查看菜单项: 状态栏
 private MenuItem miAboutNote;//帮助菜单项:关于记事本
 
 private TextArea ta;//文本区
 
 private String tempString;//临时字符串,用于存储需要复制粘贴的字符串
 
 private boolean textValueChanged = false;
 
 private int id_font ;//字体 
 
 
 String fileName = "";//上次保存后的文件名和地址
 
 
 
 //构造函数
 public Note(){
  
  //框架
  mainFrame = new Frame ("   记事本----高锦龙 ");
  mb  = new MenuBar ();
  ta = new TextArea (30 ,60);            //记事本内容 
  ta.setFont( new Font ( "Times New Rome" , Font.PLAIN, 15));     //记事本原始字体大小
  ta.setBackground(Color.white );
  
  //菜单条
  mFile = new Menu ( "文件(F)	");
  mEdit = new Menu ( "编辑(E) ");
  mFormat = new Menu ("格式(O)");
  mLook = new Menu ("查看 (V)"); 
  mHelp = new Menu ("帮助(H)");
  
  //"文件"
  miNew = new MenuItem ("新文件 ");
  miOpen = new MenuItem ("打开 ");
  miSave = new MenuItem ("保存");
  miSaveAs = new MenuItem ("另存为....."); 
  miExit = new MenuItem ("退出");
  
  //"编辑"
  miCut = new MenuItem ("剪切"); 
  miCopy = new MenuItem ("复制");
  miPaste = new MenuItem ("粘贴");
  miDelete = new MenuItem ("删除");
  miSearch = new MenuItem ("查找");
  miSelectAll = new MenuItem ("全选");
  
  //"格式"
  miFont = new MenuItem ("字形");
  miColor = new MenuItem ("颜色");
  miSize = new MenuItem ("字体大小"); 
  
  // "查看" 
  miState= new MenuItem ("状态栏 "); 
  
  
  //"帮助"
  miAboutNote = new MenuItem ("关于帮助文档 ...");
  
  //添加文件菜单项
  mFile.add(miNew);
  mFile.add(miOpen);
  mFile.add(miSave);
  mFile.add(miSaveAs);
  mFile.add(miExit);
  
  //添加编辑菜单项
  mEdit.add(miCut);
  mEdit.add(miCopy);
  mEdit.add(miPaste);
  mEdit.add(miDelete); 
  mEdit.add(miSearch);
  mEdit.add(miSelectAll);
  
  
  //添加格式菜单项
  mFormat.add(miFont);
  mFormat.add(miColor); 
  mFormat.add(miSize);
  
    //添加查看菜单项
  mLook.add(miState);
  
  //添加帮助菜单项
  mHelp.add(miAboutNote);
  
  //菜单条添加菜单
  mb.add(mFile);
  mb.add(mEdit);
  mb.add(mFormat);
  mb.add(mLook);
  mb.add(mHelp);
  
  //框架添加菜单条  
  mainFrame.setMenuBar( mb );
  
  //初始字符串赋为空
  tempString = "";
  
  
    
  //添加文本区
  mainFrame.add(ta, BorderLayout.CENTER);  
    
  
  mainFrame.setSize(650 , 330);
  mainFrame.setLocation( 50,50);// 起始位置
  mainFrame.setResizable(true);//不可更改大小
  mainFrame.setVisible(true);
  //mainFrame.pack();

                //////////////////////////////////////////////////////////////////////////////////
  ////////////////////////////////增加监视器////////////////////////////////////////
  //////////////////////////////////////////////////////////////////////////////////
  
  
  
  //主框架
  mainFrame.addWindowListener(new WindowAdapter (){ //关闭窗口
   public void windowClosing(WindowEvent e) {
    System.exit(0);
   }
  });
  
  //文本区
  ta.addKeyListener( new KeyAdapter(){
   public void KeyTyped(KeyEvent e){
    textValueChanged = true ; //键盘按键按下即导致文本修改
   }
  });
   
  
  
  
  ////////////////"文件"菜单://////////////////////
  
  //新建
  miNew.addActionListener( new ActionListener(){
   public void actionPerformed(ActionEvent e){    
    
    ta.replaceRange("", 0 , ta.getText().length()) ;//清空文本区的内容
    
    fileName = "";//文件名清空
   }
  });
  
  
  //打开
  miOpen.addActionListener( new ActionListener(){
   public void actionPerformed(ActionEvent e) {
    
    FileDialog d=new FileDialog(mainFrame , "open file" , FileDialog.LOAD );//打开文件对话框   
    
    d.addWindowListener( new WindowAdapter(){ //关闭文件对话框窗口
     public void windowClosing(WindowEvent ee){
      System.exit(0);
     }
    });    
    d.setVisible(true);    
     
    File f = new File( d.getDirectory()+d.getFile() ); //建立新文件
    
    fileName = d.getDirectory()+d.getFile();//得到文件名
    
    char ch[] = new char [(int)f.length()];///用此文件的长度建立一个字符数组  
    
    try//异常处理
    {
     //读出数据,并存入字符数组ch中
     BufferedReader bw = new BufferedReader( new FileReader(f) );     
     bw.read(ch);     
            bw.close();
    }
    catch( FileNotFoundException fe ){
     System.out.println("file not found");
     System.exit(0);
    }
    catch( IOException ie){
     System.out.println("IO error");
     System.exit(0);
    }
    
    String s =new String (ch);
    
       
    ta.setText(s);//设置文本区为所打开文件的内容    
   }
  });                
  
  //保存
  miSave.addActionListener( new ActionListener(){
   public void actionPerformed(ActionEvent e) {
    
    if( fileName.equals("") ){ //如果文件没有被保存过,即文件名为空
     
     
    FileDialog d=new FileDialog(mainFrame , "save file" , FileDialog.SAVE );//保存文件对话框   
    
    d.addWindowListener( new WindowAdapter(){ //关闭文件对话框窗口
     public void windowClosing(WindowEvent ee){
      System.exit(0);
     }
    });
    d.setVisible(true);
    
    String s = ta.getText();//得到所输入的文本内容
    
    try//异常处理
    {
     File f = new File( d.getDirectory()+d.getFile());//新建文件
     
     fileName = d.getDirectory()+d.getFile();//得到文件名
     
     BufferedWriter bw = new BufferedWriter( new FileWriter (f));//输入到文件中
     bw.write(s , 0 , s.length());
     bw.close();
     
    }
    catch(FileNotFoundException fe_){
     System.out.println("file not found");
     System.exit(0);
    }
    catch( IOException ie_)
    {
     System.out.println(" IO error");
     System.exit(0);
    }  
    
    
           }
   
    else  //如果文件已经保存过
    {
     String s = ta.getText();//得到所输入的文本内容
     
    try//异常处理
    {
     File f = new File( fileName );//新建文件     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -