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

📄 texteditorframe.java

📁 用java制作的简单记事本 只拥有保存 打开 复制 粘贴 剪切等几个主要功能
💻 JAVA
字号:


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
class TextEditorFrame extends JFrame{  
    File file=null;
   	Color color=Color.red;
   	 
    TextEditorFrame(){
    initTextPane();    
   	initMenu();
   	        }
    
   	void initTextPane(){
   		getContentPane().add(new JScrollPane(text));
   		}  		
   	  JTextPane text=new JTextPane(); //这是用来做文本框的
      JFileChooser filechooser=new JFileChooser(); //文件选择框
      JMenuBar menubar=new JMenuBar();//菜单
   	          	
	JMenu[] menus=new JMenu[]{
		new JMenu("文件"),
		new JMenu("编辑"),		
	};
	
	JMenuItem menuitems[][]=new JMenuItem[][]{
			{
		new JMenuItem("新建"),
		new JMenuItem("打开"),
		new JMenuItem("保存"),
		new JMenuItem("退出")
		         },		         
		         {	        
		new JMenuItem("复制"),         
		new JMenuItem("剪切"),
		new JMenuItem("粘贴"),		
        },
        };
      void initMenu(){
      	
      	  for(int i=0;i<menus.length;i++){
      	  	menubar.add(menus[i]);
      	  	for(int j=0;j<menuitems[i].length;j++){
      	  		menus[i].add(menuitems[i][j]);
      	  		menuitems[i][j].addActionListener( action );
      	  	}
      	  }
      	  this.setJMenuBar(menubar);
      } 
     ActionListener action=new ActionListener(){                   //when here have not wrong:
     public void actionPerformed(ActionEvent e){
		JMenuItem mi=(JMenuItem)e.getSource();
		String id=mi.getText();
		if(id.equals("新建")){
			text.setText("");
			file=null;
		}else if(id.equals("打开")){
                    if(file !=null)filechooser.setSelectedFile(file);
                    int returnVal=filechooser.showOpenDialog(TextEditorFrame.this);
                    if(returnVal==JFileChooser.APPROVE_OPTION){

                    file=filechooser.getSelectedFile();
                    openFile();
                              }
	     }else if(id.equals("保存")){
	      if(file!=null) filechooser.setSelectedFile(file);
          int returnVal=filechooser.showSaveDialog(TextEditorFrame.this);
                if(returnVal==JFileChooser.APPROVE_OPTION){
                file=filechooser.getSelectedFile();
                  saveFile();
                                  }        
             }else if(id.equals("退出")){
               TextEditorFrame f=new TextEditorFrame();
               int s=JOptionPane.showConfirmDialog(f,"确定退出?","结束程序",JOptionPane.YES_NO_CANCEL_OPTION);
               if(s==JOptionPane.YES_OPTION)
                System.exit(0);
             }else if(id.equals("剪切")){
               text.cut();
             }else if(id.equals("复制")){
               text.copy();
             }else if(id.equals("粘贴")){
               text.paste();
             }
   } 
  };
 
  void saveFile(){
       try{
        FileWriter fw=new FileWriter(file);
        fw.write(text.getText());
        fw.close();
         }
    catch(Exception e){e.printStackTrace();}

                  }                

  void openFile(){
         try{
              FileReader fr=new FileReader(file);
              int len=(int)file.length();
              char []buffer=new char[len];
              fr.read(buffer,0,len);
              fr.close();
              text.setText(new String(buffer));
              }catch(Exception e){e.printStackTrace();}
       }
   
  
	public static void main(String args[]){
		 
                TextEditorFrame f=new TextEditorFrame();
                
              f.addWindowListener(
            	  new WindowAdapter(){
            	  public void windowClosing(WindowEvent e)
                 {System.exit(0);}
            }
            	);              
		f.setTitle("一个小记事本");
		f.setSize(268,305);
		f.show();
	}
	}
	
  

⌨️ 快捷键说明

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