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

📄 txt.java

📁 这是本人自己所编写的JAVA小程序
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.File;
import javax.swing.filechooser.FileFilter;
import java.io.*;
import javax.swing.undo.*;
 
  public class Txt implements UndoableEditListener  {
  	public	JTextArea  theArea=null;  
       JFileChooser fileChooser=null;
       JFrame f=null;
        File file = null;
        UndoableEdit edit;
        
     public void undoableEditHappened(UndoableEditEvent ev){  //这个方法可以获的对编辑器的每个操作
    	 edit=ev.getEdit();                                   //通过此方法可以实现撤消,关闭窗口前的询问对话框的探出
    	
    	}    	 
        
       
  	public Txt() {
  		
  	   f=new JFrame("记事本");
  		Container contentPane=f.getContentPane();  		
  		contentPane.setLayout(new BorderLayout() );
  		contentPane.setBackground(new Color(255,255,255));
  	
  		theArea=new JTextArea();
  		contentPane.add(new JScrollPane(theArea),BorderLayout.CENTER);
  		
  	     theArea.getDocument().addUndoableEditListener(this);
  	     
  	
  		JMenuBar MBar=new JMenuBar();   
  		MBar.setOpaque(false);  //设置菜单为不透明
  	   
  	    JMenu mfile=buildFileMenu();  //添加文件菜单
        MBar.add(mfile);
          	   
          	
        JMenu edit=editFileMenu();  //添加编辑菜单
        MBar.add(edit);
       
         
        JMenu opp=oppFileMenu();   //添加格式菜单
        MBar.add(opp);
        
        JMenu view=viewFileMenu();   //添加查看菜单
        MBar.add(view);
        
        JMenu help=helpFileMenu();    //添加帮助菜单
        MBar.add(help);
        contentPane.add(MBar,BorderLayout.NORTH);
  
       
 
              
  
  f.setSize(350,380);
  
  f.setLocationRelativeTo(null);  //窗口居中
  f.setVisible(true);
  f.show();
 
 
  f.addWindowListener(new WindowAdapter(){
  	public void windowClosing(WindowEvent e){
   
       
       	System.exit(0);
       	
      
  	  
        }  	
  
 	
  	} );
  
 	}
  public JMenu buildFileMenu() {          //添加菜单的方法
  	JMenu thefile=new JMenu("文件(F)");
  	thefile.setMnemonic('F');               //添加快捷键
  	JMenuItem newf=new JMenuItem("新建(N)");
  	JMenuItem open=new JMenuItem("打开(O)");
  	JMenuItem save=new JMenuItem("保存(S)");
  	JMenuItem  asave=new JMenuItem("另存为(A)..");
  	JMenuItem  u=new JMenuItem("页面设计(U...)");
  	JMenuItem  print=new JMenuItem("打印(P...)");
  	JMenuItem  exit=new JMenuItem("退出(X)");
  	
  	newf.setMnemonic('N');
  	open.setMnemonic('O');
  	save.setMnemonic('S');
  	asave.setMnemonic('A');
  	u.setMnemonic('U');
  	print.setMnemonic('P');
  	exit.setMnemonic('X');
  	
  	newf.setAccelerator(KeyStroke.getKeyStroke('N',java.awt.Event.CTRL_MASK,false));
  	open.setAccelerator(KeyStroke.getKeyStroke('O',java.awt.Event.CTRL_MASK,false));
  	save.setAccelerator(KeyStroke.getKeyStroke('S',java.awt.Event.CTRL_MASK,false));
  	asave.setAccelerator(KeyStroke.getKeyStroke('A',java.awt.Event.CTRL_MASK,false));
  	u.setAccelerator(KeyStroke.getKeyStroke('U',java.awt.Event.CTRL_MASK,false));
  	print.setAccelerator(KeyStroke.getKeyStroke('P',java.awt.Event.CTRL_MASK,false));
  	exit.setAccelerator(KeyStroke.getKeyStroke('X',java.awt.Event.CTRL_MASK,false));
  	
  	newf.addActionListener(new ActionListener() {           //定义新建文件
  		public void actionPerformed(ActionEvent e) {
  			
  		       new Txt();
  			}
  		} );
  	
  		class JAVAFileFilter extends FileFilter          //定义打开我文件时的类型
    	{  String ext;
    		public JAVAFileFilter(String ext){ 
    		this.ext=ext;
    		}
    		public boolean accept(File file) {
    			if (file.isDirectory())
    			return true;
    			String fileName=file.getName();
    			int index=fileName.lastIndexOf('.');
    			if (index>0 && index<fileName.length()-1){
    				String extension=fileName.substring(index+1).toLowerCase();
    				if (extension.equals(ext))
    				return true;
    				}
                  return false;   
     			}
     			public String getDescription(){
     				if (ext.equals("java"))
     				return"JAVA Source File (*.java)";
     				if(ext.equals("class"))
     				return "JAVA Class File(*.class)";
     				return "";
     				}
    		}
  	
    open.addActionListener(new ActionListener() {     //添加打开文件的事件处理
    	public void actionPerformed(ActionEvent e)
    	{      fileChooser = new JFileChooser("D:\\text");
        	
    		fileChooser.addChoosableFileFilter(new JAVAFileFilter("class") );
    		fileChooser.addChoosableFileFilter(new JAVAFileFilter("java") );
    		int result=fileChooser.showOpenDialog(f);
    		  theArea.setText("");
    		   if (result == JFileChooser.APPROVE_OPTION)
            {     theArea.setText("");
                file = fileChooser.getSelectedFile();
                 }
            else if(result == JFileChooser.CANCEL_OPTION)
            {
              
    	}
    	 FileInputStream fileInStream = null;
            if(file != null)
            {
                try{
                     fileInStream = new FileInputStream(file);
                }catch(FileNotFoundException fe){
                   
                    return;
                }
                
               int readbyte;
               try {
                
                    while( (readbyte = fileInStream.read()) != -1)
                    {
                        theArea.append(String.valueOf((char)readbyte));
                    }
                    
                      }  catch(IOException ioe){
                        	theArea.setText("wnjiacuowu");
                   }       
                }          
                try{
                        if(fileInStream != null)
                            fileInStream.close();
                    }catch(IOException ioe2){}
                        }   
          });
    		
    save.addActionListener(new ActionListener() {     //添加保存文件的事件处理
    	public void actionPerformed(ActionEvent e)
    	{   
    	       fileChooser = new JFileChooser("D:\\text");
    	       	fileChooser.addChoosableFileFilter(new JAVAFileFilter("class") );
    		fileChooser.addChoosableFileFilter(new JAVAFileFilter("java") );
    	     int result=fileChooser.showSaveDialog(f); 
    	      file=null;
    	      String fileName;
    	      if (result==JFileChooser.APPROVE_OPTION)
    	       {  file=fileChooser.getSelectedFile();
    	       	}
    	       	FileOutputStream fileOutStream=null;
  	         if (file!=null)
  	         {
                try{
                     fileOutStream = new FileOutputStream(file);
                }catch(FileNotFoundException fe){
                   
                    return;
                }
                
               
                  String content=theArea.getText();
        
                try {
                
                    fileOutStream.write(content.getBytes() );
                    }
                       
                       
                    
                    
                      catch(IOException ioe){
                        	theArea.setText("wnjiacuowu");
                   }       
                         
                try{
                        if(fileOutStream != null)
                            fileOutStream.close();
                    }catch(IOException ioe2){}
                }         
  	     
  	      }});
  	      
  	      
  	      
  	 asave.addActionListener(new ActionListener() {     //添加另存文件的事件处理
    	public void actionPerformed(ActionEvent e)
    	{     fileChooser = new JFileChooser("D:\\text");
    	       	fileChooser.addChoosableFileFilter(new JAVAFileFilter("class") );
    		fileChooser.addChoosableFileFilter(new JAVAFileFilter("java") );
    	     int result=fileChooser.showSaveDialog(f); 
    	      file=null;
    	      String fileName;
    	      if (result==JFileChooser.APPROVE_OPTION)
    	       {  file=fileChooser.getSelectedFile();
    	       	}
    	       	FileOutputStream fileOutStream=null;
  	         if (file!=null)
  	         {
                try{
                     fileOutStream = new FileOutputStream(file);
                }catch(FileNotFoundException fe){
                   
                    return;
                }
                
               
                  String content=theArea.getText();
        
                try {
                
                    fileOutStream.write(content.getBytes() );
                    }
                       
                       
                    
                    
                      catch(IOException ioe){
                        	theArea.setText("wnjiacuowu");
                   }       
                         
                try{
                        if(fileOutStream != null)
                            fileOutStream.close();
                    }catch(IOException ioe2){}
                }         
  	     
  	      }});
  	      	
  	      	
  	      	exit.addActionListener(new ActionListener() {           //定义退出文件事件处理
  		public void actionPerformed(ActionEvent e) {
  			     System.exit(0);
  		       
  			}
  		} );
  	
  
  	thefile.add(newf);
    thefile.add(open);
    thefile.add(save);
  	thefile.add(asave);
  	thefile.addSeparator();   //添加分割条
  	thefile.add(u);
  	thefile.add(print);
  	thefile.addSeparator();
    thefile.add(exit);
    
 
  	
  	return thefile;
 } 	
  
  public JMenu editFileMenu() {
  	
  	JMenu thefile=new JMenu("编辑(E)");
  	thefile.setMnemonic('E');               //添加快捷键
  	JMenuItem chexiao=new JMenuItem("撤消(U)");
  	JMenuItem jianqie=new JMenuItem("剪切(T)");
  	JMenuItem fuzhi=new JMenuItem("复制(C)");
  	JMenuItem  niantie=new JMenuItem("粘贴(P)");

⌨️ 快捷键说明

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