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

📄 note.java

📁 Java记事本 Java记事本
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.sql.*;
import java.awt.print.*;
import java.awt.datatransfer.*;
import java.net.*;
import java.util.*;
 public class Note
 {
   public static void main(String args[])
   {
	   new Jishiben_frame();
   }

 }
class Jishiben_frame extends Frame implements ActionListener
{
  FileDialog filedialog_save,filedialog_load;//声明2个文件对话框
  TextArea text;
  int f=-1,start=0,end=0;
  BufferedReader in;
  FileReader file_reader;
  BufferedWriter out;
  FileWriter tofile;
  String temp="",检测="";
  MenuBar bar=null;
  Menu Wenjian,Bianji,bangzhu;
  MenuItem item01,item02,item04,item05,item06,item11,item12,item13,item14,item15,item16,item17,item31;
  Jishiben_frame()
  {
    super("新建 文本文档 -记事本");
    text=new TextArea();
    add(text,BorderLayout.CENTER);
    bar=new MenuBar();
    Wenjian=new Menu("文件(O)");
    Bianji=new Menu("编辑(E)");
    bangzhu=new Menu("帮助(H)");
    item01=new MenuItem("新建 (N)");
    MenuShortcut keynew=new MenuShortcut(KeyEvent.VK_N);
    item01.setShortcut(keynew);

    item02=new MenuItem("打开...(O)");
    MenuShortcut keyopen=new MenuShortcut(KeyEvent.VK_O);
    item02.setShortcut(keyopen);

    item04=new MenuItem("另存为...(A)");

    item05=new MenuItem("打印...(P)");
    MenuShortcut keyprint=new MenuShortcut(KeyEvent.VK_P);
    item05.setShortcut(keyprint);

    item06=new MenuItem("退出(X)");

    item11=new MenuItem("撤消(U)");
    MenuShortcut keyundo=new MenuShortcut(KeyEvent.VK_Z);
    item11.setShortcut(keyundo);

    item12=new MenuItem("剪切(T)");
    MenuShortcut keycut=new MenuShortcut(KeyEvent.VK_X);
    item12.setShortcut(keycut);

    item13=new MenuItem("复制(C)");
    MenuShortcut keycope=new MenuShortcut(KeyEvent.VK_C);
    item13.setShortcut(keycope);

    item14=new MenuItem("粘贴(P)");
    MenuShortcut keypaste=new MenuShortcut(KeyEvent.VK_V);
    item14.setShortcut(keypaste);

    item15=new MenuItem("全选(A)");
    MenuShortcut keyall=new MenuShortcut(KeyEvent.VK_A);
    item15.setShortcut(keyall);

    item16=new MenuItem("替换(R)");
    MenuShortcut keytihuan=new MenuShortcut(KeyEvent.VK_H);
    item16.setShortcut(keytihuan);

    item17=new MenuItem("删除(L)");
    item31=new MenuItem("关于记事本(A)");
    Wenjian.add(item01);
    Wenjian.add(item02);
    Wenjian.add(item04);
    Wenjian.add(item05);
    Wenjian.add(item06);
    Bianji.add(item11);
    Bianji.add(item12);
    Bianji.add(item13);
    Bianji.add(item14);
    Bianji.add(item15);
    Bianji.add(item16);
    Bianji.add(item17);
    bangzhu.add(item31);
    bar.add(Wenjian);
    bar.add(Bianji);
    bar.add(bangzhu);
    setMenuBar(bar);
    item01.addActionListener(this);
    item02.addActionListener(this);
    item04.addActionListener(this);
    item05.addActionListener(this);
    item06.addActionListener(this);
    item11.addActionListener(this);
    item12.addActionListener(this);
    item13.addActionListener(this);
    item14.addActionListener(this);
    item15.addActionListener(this);
    item16.addActionListener(this);
    item17.addActionListener(this);
    item31.addActionListener(this);
    setVisible(true);
    setBounds(150,150,800,500);
    validate();
           filedialog_save=new FileDialog(this,"保存文件话框",FileDialog.SAVE);
	       filedialog_load=new FileDialog(this,"打开文件话框",FileDialog.LOAD);
	       filedialog_save.addWindowListener(new WindowAdapter()
	                                  {public void windowClosing(WindowEvent e)
	                                       {  filedialog_save.setVisible(false);
	                                       }
	                                  });
	      filedialog_load.addWindowListener(new WindowAdapter()//对话框增加适配器
	                                  {public void windowClosing(WindowEvent e)
	                                       {  filedialog_load.setVisible(false);
	                                       }
                                  });

    addWindowListener(new WindowAdapter()
    {
		public void windowClosing(WindowEvent e1)
		{
			if(!text.getText().equals(检测))
			{
			try{int cache=JOptionPane.showConfirmDialog(null,"保存文件吗?");
			     if(JOptionPane.OK_OPTION==cache){save();dispose();System.exit(0);}
			    else if(JOptionPane.NO_OPTION==cache){dispose();System.exit(0);}


			}
			catch(Exception ee){}
		    }
		    else System.exit(0);
		}

	});
  }
     public void actionPerformed(ActionEvent e)
    {
        if(e.getSource()==item01)
             {

                   if(!text.getText().equals(检测))
					{
					int n=JOptionPane.showConfirmDialog(this,"要保存吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);
					if(n==JOptionPane.YES_OPTION){save();text.setText("");}
					else if(n==JOptionPane.NO_OPTION){text.setText("");setTitle("新建 文本文档 -记事本");}
		            }
		            else setTitle("新建 文本文档 -记事本");

			 }

        if(e.getSource()==item02)
            {
                 load();
			 }

		 if(e.getSource()==item04)
		    {
                  save();

             }

         if(e.getSource()==item05)
             {
         	     PrintJob p=null; //声明一个PrintJob对象。
                 Graphics g=null;
                 		   p=getToolkit().getPrintJob(this,"ok",null);
				           g=p.getGraphics();    //p获取一个用于打印的 Graphics对象。
				           g.translate(120,200);
				           this.printAll(g);      //打印当前窗口及其子组件。
				           g.dispose();          //释放对象 g。
                           p.end();
			 }

		 if(e.getSource()==item06)
		     {
				 if(!text.getText().equals(检测))
				 {
					int n=JOptionPane.showConfirmDialog(this,"要保存吗?","记事本",JOptionPane.YES_NO_CANCEL_OPTION);
					if(n==JOptionPane.YES_OPTION){save();System.exit(0);}
					else if(n==JOptionPane.NO_OPTION){System.exit(0);}
			     }
			     else System.exit(0);


			 }

		 if(e.getSource()==item11)
		     {
			        switch(f)
			        {
						case 1:text.replaceRange(temp,start,end);break;
						case 2:text.replaceRange(temp,start,end);break;
						case 3:text.select(0,0);break;
						case 4:text.replaceRange(temp,start,end);break;
						case -1:break;



					}
			 }

//**********以下是剪贴,复制,粘贴
	   		           Clipboard clipboard=null;
	   		           clipboard=getToolkit().getSystemClipboard();//获取系统剪贴板。

		 if(e.getSource()==item12)
		     {
       		           temp=text.getSelectedText();   //拖动鼠标选取文本。
	   		           StringSelection s=new StringSelection(temp);
	   		           clipboard.setContents(s,null);
	   		           start=text.getSelectionStart();
	   		           end  =text.getSelectionEnd();
                       text.replaceRange("",start,end) ; //从Text中删除被选取的文本。
                       f=1;
			 }

		  if(e.getSource()==item13)
		    {
		  	          temp=text.getSelectedText();  //拖动鼠标选取文本。
		              StringSelection s=new StringSelection(temp);
		              clipboard.setContents(s,null);
		    }

		   if(e.getSource()==item14)
		      {
			  	  Transferable contents=clipboard.getContents(this);
			  	  DataFlavor  flavor= DataFlavor.stringFlavor;
		          if( contents.isDataFlavorSupported(flavor))
		          {
					      try{  String str;
		                  str=(String)contents.getTransferData(flavor);
		                   start=text.getSelectionStart();
		                   end  =text.getSelectionEnd();
		                   temp="";
		                   f=2;
		                  text.replaceRange(str,start,end) ; //从Text中添加复制的文本。
		                  end  =text.getSelectionEnd()+str.length();
		                     }
                          catch(Exception ee){}
	               }
			  }

            if(e.getSource()==item15)
               {
				   text.select(0,text.getText().length());
				   f=3;
				}
///以下是替换查找
            if(e.getSource()==item16)
               {
                      MydialogTiHuan dialog=new MydialogTiHuan(this,"替换",true,this);
			   	      dialog.setVisible(true);


			   }


			if(e.getSource()==item17)
			   {
				   		     start=text.getSelectionStart();
				   		     end  =text.getSelectionEnd();
                             temp=text.getSelectedText();
                             text.replaceRange("",start,end) ; //从Text中删除被选取的文本。
                             end=temp.length();
                             f=4;
			   }


//以下是帮助
			  if(e.getSource()==item31)
			     {
			         JOptionPane.showMessageDialog(this,"版权:小羽制作","关于记事本",JOptionPane.INFORMATION_MESSAGE);
				 }
   }
        public void save()
           {
			   		           filedialog_save.setVisible(true);
			     	               if(filedialog_save.getFile()!=null)
			     	                 {
			     	                   try {
			     	                          File file=new	 File(filedialog_save.getDirectory(),filedialog_save.getFile());
			     	                          tofile=new FileWriter(file);
			     	                          out=new BufferedWriter(tofile);
			     	                          out.write(text.getText(),0,(text.getText()).length());
			     	                          out.flush();
			     	                          out.close();
			     	                          tofile.close();
			     	                        }
			                            catch(IOException e2){}
			   			         }


			}

		public void load()
		    {
				     	             filedialog_load.setVisible(true);
					 	            // text.setText(null);
					 	             String s;
					 	             if(filedialog_load.getFile()!=null)
					 	                {
					 	                   try{
											   text.setText(null);
											   File file= new File(filedialog_load.getDirectory(),filedialog_load.getFile());
					 	                         String file_name=file.getName();
					 	                         setTitle(file_name);
					 	                         file_reader=new FileReader(file);

					 	                         in=new BufferedReader(file_reader);
					 	                         while((s=in.readLine())!=null)
					 	                              text.append(s+'\n');
					 	                         in.close();
					 	                         file_reader.close();

					 	                      }
					 	                  catch(IOException e2){}
			                            }
			}


}
//*********查找,替换类
class MydialogTiHuan extends Dialog implements ActionListener
{
	int n=0,h=0,t=0;
	Label lab1,lab2;
	String s="",str="",flag="";
	TextField textChazhao,textTiHuan;
	Button button1,button2,button3;
	Jishiben_frame hua;
	MydialogTiHuan(Frame f,String s,boolean b,Jishiben_frame hua)
	{
		super(f,s,b);
		this.hua=hua;
		this.setLayout(null);
		//text=new TextArea();
		button1=new Button("查找");
		button1.setBounds(new Rectangle(273, 32, 91, 20));
		add(button1);
		button2=new Button("替换");
		button2.setBounds(new Rectangle(273, 61, 91, 20));
		add(button2);
		button3=new Button("取消");
        button3.setBounds(new Rectangle(273, 90, 91, 20));
        add(button3);
		lab1=new Label("查找内容:");
		lab1.setBounds(new Rectangle(7, 35, 72, 19));
		add(lab1);
		lab2=new Label("替换为:");
		lab2.setBounds(new Rectangle(7, 61, 72, 19));
		add(lab2);
		textChazhao=new TextField();
		textChazhao.setBounds(new Rectangle(78, 37, 182, 19));
		add(textChazhao);
		textTiHuan=new TextField();
		textTiHuan.setBounds(new Rectangle(78, 61, 182, 19));
		add(textTiHuan);
		setBounds(300,250,380, 150);
		button1.addActionListener(this);
		button2.addActionListener(this);
		button3.addActionListener(this);
    this.addWindowListener(new WindowAdapter()
    {
		public void windowClosing(WindowEvent e)
		{setVisible(false);}

	});
	}
	public void actionPerformed(ActionEvent e)
	{



		if(e.getSource()==button1)
		{
		 if(t==-1){n=0;h=0;}
		 str=hua.text.getText();
		 while(flag!=s){n=0;h=0;}
		 h=n;
		 str=str.substring(n,str.length());
		 s=textChazhao.getText();
		 flag=s;
		 n=str.indexOf(s);
		 StringTokenizer fenxi=new StringTokenizer(str.substring(h,n),"\n");
		 int a=fenxi.countTokens();
		   if(n>a&&a!=1)n=n-a+1;
		     if(n!=(-1))
		         {
			            hua.text.select(n,n+s.length());
			            n=n+s.length();
		         }
		          t=1;
			}


		if(e.getSource()==button2)
		{
			   		   if(t==1){n=0;h=0;}
			   		   String b;
			   		   str=hua.text.getText();
			   		   while(flag!=s){n=0;h=0;}
			   		   h=n;
			   		   str=str.substring(n,str.length());
		   		       str=hua.text.getText();
			   		   s=textChazhao.getText();
			   		   b=textTiHuan.getText();
	                   flag=s;
			   		   n=str.indexOf(s);
		               StringTokenizer fenxi=new StringTokenizer(str.substring(h,n),"\n");
		               int a=fenxi.countTokens();
		               if(n>a&&a!=1)n=n+1;
			   		   if(n!=(-1))
			   		   {
                         // hua.text.select(n,n+s.length());
                          hua.text.replaceRange(b,n,n+s.length());
                          n=n+s.length();
					   }
					   t=-1;
	         }



		if(e.getSource()==button3)
		{dispose();}
	 }
}

⌨️ 快捷键说明

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