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

📄 notepad.java

📁 用JAVA编写的一个记事本.很多模仿微软的记事本,好用
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.text.SimpleDateFormat;
import javax.swing.*;
import javax.swing.event.*;

class FirstWindow extends Frame implements ActionListener,DocumentListener,Runnable
{
  MenuBar menubar;
  Menu menuFile,menuEdit,menuFormat,menuHelp;
  MenuItem itemNew,itemLoad,itemSave,itemSaveAs,itemExit,itemCut,itemCopy,itemPaste,itemRemove,itemSelectAll,itemTime,itemLineWrap,itemFont,itemHelp,itemAbout;
  FileDialog filedialog_Save,filedialog_Load;
  JTextArea text;
  JScrollPane scroll;
  Date nowTime;
  SimpleDateFormat time;
  BufferedReader in;
  FileReader file_reader;
  BufferedWriter out;
  FileWriter  tofile;
  int text_event = 0,clickTimes =1;

  FirstWindow(String s)
  {
	setTitle(s);
	Toolkit tool=getToolkit();
	Dimension dim =tool.getScreenSize();
	setBounds(40,40,dim.width/2,dim.height/2);
    text= new JTextArea();
    scroll = new JScrollPane(text);
	menubar =new MenuBar();
	menuFile =new Menu("文件");
	menuEdit =new Menu("编辑");
	menuFormat =new Menu("格式");
	menuHelp =new Menu("帮助");
    itemNew =new MenuItem("新建");
	itemLoad =new MenuItem("打开");
	itemSave =new MenuItem("保存");
	itemSaveAs =new MenuItem("另存为");
	itemExit=new MenuItem("退出");
    itemCut=new MenuItem("剪切");
    itemCopy=new MenuItem("复制");
    itemPaste=new MenuItem("粘贴");
    itemRemove=new MenuItem("删除");
    itemSelectAll=new MenuItem("全选");
    itemTime=new MenuItem("时间");
	itemLineWrap=new MenuItem("自动换行");
	itemFont=new MenuItem("字体");
	itemHelp=new MenuItem("帮助主题");
	itemAbout=new MenuItem("关于");

	filedialog_Save =new FileDialog(this,"保存文件",FileDialog.SAVE);
    filedialog_Load =new FileDialog(this,"打开文件",FileDialog.LOAD);

    menubar.add(menuFile);
	menubar.add(menuEdit);
	menubar.add(menuFormat);
	menubar.add(menuHelp);
    menuFile.add(itemNew);
    menuFile.add(itemLoad);
	menuFile.add(itemSave);
	menuFile.add(itemSaveAs);
    menuFile.addSeparator();
	menuFile.add(itemExit);
    menuEdit.add(itemCut);
    menuEdit.add(itemCopy);
    menuEdit.add(itemPaste);
    menuEdit.add(itemRemove);
    menuEdit.addSeparator();
    menuEdit.add(itemSelectAll);
    menuEdit.add(itemTime);
	menuFormat.add(itemLineWrap);
	menuFormat.add(itemFont);
	menuHelp.add(itemHelp);
	menuHelp.add(itemAbout);
	add(scroll);

    itemNew.addActionListener(this);
	itemLoad.addActionListener(this);
    itemSave.addActionListener(this);
	itemSaveAs.addActionListener(this);
	itemExit.addActionListener(this);
    itemCut.addActionListener(this);
    itemCopy.addActionListener(this);
    itemPaste.addActionListener(this);
    itemRemove.addActionListener(this);
    itemSelectAll.addActionListener(this);
    itemTime.addActionListener(this);
	itemFont.addActionListener(this);
	itemLineWrap.addActionListener(this);
	itemAbout.addActionListener(this);
	addWindowListener(new WindowAdapter()
	                       {
							  public void windowClosing(WindowEvent e)
							  { System.exit(0); }
						   });
    (text.getDocument()).addDocumentListener(this);

	filedialog_Save.setVisible(false);
    filedialog_Load.setVisible(false);
	setMenuBar(menubar);
	setVisible(true);
  }



  public void actionPerformed(ActionEvent e)
  {
	if(e.getSource()==itemNew)
  	{
	  if( text_event == 1)
		{
		  String message = "文本内容被修改,是否保存?";
		  int ok = JOptionPane.showConfirmDialog(null,message,"确认对话框",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE);
          if(ok==JOptionPane.YES_OPTION)
           {
			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);
			 	 PrintStream ps = new PrintStream(new FileOutputStream("p.txt"));
				 out.write(text.getText(),0,(text.getText()).length());
			  	 ps.close();
				 out.close();
				 tofile.close();
				}
			  catch(IOException e2){}
		     }
		     text_event = 0; text.setText(null);  setTitle("新建文本文档");
		   }
		   else if(ok==JOptionPane.NO_OPTION)
		         { text_event = 0; text.setText(null);  setTitle("新建文本文档");  }
		   else if(ok==JOptionPane.CANCEL_OPTION) {text_event = 0; }
	     }
	  else       { text_event = 0; text.setText(null);  setTitle("新建文本文档");  }
	}

  	else if(e.getSource()==itemLoad)
     {
		  if( text_event == 1)
		  {
			 String message = "文本内容被修改,是否保存?";
		     int ok = JOptionPane.showConfirmDialog(null,message,"确认对话框",JOptionPane.YES_NO_CANCEL_OPTION,JOptionPane.INFORMATION_MESSAGE);
             if(ok==JOptionPane.YES_OPTION)
             {
		  			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.close();
		  				 tofile.close();
		  				}
		  			catch(IOException e2){}
		  		   }
		  		   text_event = 0;
		     }
		    else if(ok==JOptionPane.NO_OPTION)
			 {
				filedialog_Load.setVisible(true);
				text.setText(null);
				String s;
				if(filedialog_Load.getFile()!=null)
				 {
					try{
					        File file =new File(filedialog_Load.getDirectory(),filedialog_Load.getFile());
						    file_reader=new FileReader(file);
						    setTitle(filedialog_Load.getFile());
							in =new BufferedReader(file_reader);
							while((s=in.readLine())!=null)
							 	text.append(s+'\n');
							in.close();
							file_reader.close();
						 }
					 catch(IOException e2){}
     			 }
     			 text_event = 0;
	      }
		    else if(ok==JOptionPane.CANCEL_OPTION) {}
	     }

         else
         {
		 			filedialog_Load.setVisible(true);
		 			text.setText(null);
		 			String s;
		 			if(filedialog_Load.getFile()!=null)
		 			{
		 				try{
		 					 File file =new File(filedialog_Load.getDirectory(),filedialog_Load.getFile());
		 					 file_reader=new FileReader(file);
		 					 setTitle(filedialog_Load.getFile());
		 					 in =new BufferedReader(file_reader);
		 					 while((s=in.readLine())!=null)
		 					       text.append(s+'\n');
		 					 in.close();
		 					 file_reader.close();
		 					}
		 			    catch(IOException e2){}
		 			}
	      }
	 }
	 else if(e.getSource()==itemSave)
	   	{
	 		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.close();
	 				 tofile.close();
	 				}
	 			catch(IOException e2){}
	 		}
	 	}


  	else if(e.getSource()==itemSaveAs)
  	{
		filedialog_Save.setVisible(true);
		if(filedialog_Save.getFile()!=null)
		{
			try{
				 File file =new File(filedialog_Save.getDirectory(),filedialog_Save.getFile());
				 setTitle(filedialog_Save.getFile());
				 tofile=new FileWriter(file);
				 out =new BufferedWriter(tofile);
				 out.write(text.getText(),0,(text.getText()).length());
				 out.close();
				 tofile.close();
				}
			catch(IOException e2){}
		}
	}

	 else if(e.getSource()==itemExit)
	   {
	 	 System.exit(0);
	   }
	 else if(e.getSource()==itemFont)
		 {
			FontDialog dialog =new FontDialog(this,"字体",true);
            dialog.setVisible(true);
		 }
     else if(e.getSource()==itemCut)
		 {
			text.cut();
		 }
     else if(e.getSource()==itemCopy)
		 {
			text.copy();
		 }
     else if(e.getSource()==itemPaste)
		 {

⌨️ 快捷键说明

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