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

📄 notebook.java

📁 一个简单的记事本代码.实现 File..new/open/save/exit功能
💻 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();
    initAboutDialog();
    initMenu();
    }
    void initTextPane()
    {
     getContentPane().add(new JScrollPane(text));
    }


      JTextPane text=new JTextPane(); //这是用来做文本框的
      JFileChooser filechooser=new JFileChooser(); //文件选择框
      JColorChooser colorchooser=new JColorChooser();//获取颜色
      JDialog about=new JDialog(this); //关于对话框
      JMenuBar menubar=new JMenuBar();//菜单


 	JMenu[] menus=new JMenu[]{new JMenu("File")           };//目录

 	JMenuItem menuitems[][]=new JMenuItem[][]{{
  		new JMenuItem("new"),   //新建文档
  		new JMenuItem("open"),   //打开文档
  		new JMenuItem("save"),   //保存文档
  		new JMenuItem("exit")	  //退出选项

        }};

     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()
     {	                   //没有错误的时候:
     	public void actionPerformed(ActionEvent e)
     	{
  			JMenuItem mi=(JMenuItem)e.getSource();
  			String id=mi.getText();
  			if(id.equals("new"))        //创建新文件设置
  			{
   				text.setText("");
   				file=null;
  			}
  			else if(id.equals("open"))              //打开文件设置
  			{
      			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("save"))        //保存文件设置
   			{
    		   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);
   			}
   		}

  	};

  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();}

       }

     void initAboutDialog(){
                  about.getContentPane().add(new JLabel(""));
                  about.setModal(true);
                  about.setSize(200,100);
       }


 	}



 public class notebook{
 public static void main(String args[])       //主函数
 {

         TextEditorFrame f=new TextEditorFrame();
         f.addWindowListener(new WindowAdapter(){
   			public void windowClosing(WindowEvent e)
           	{
                TextEditorFrame f=new TextEditorFrame();
               int s=JOptionPane.showConfirmDialog(f,"你真的要结束吗","结束程序",JOptionPane.YES_NO_OPTION);  //退出文本编辑器提示
               if(s==JOptionPane.YES_OPTION)
                System.exit(0);
            }
          });

  f.setTitle("FileChooserTest");
  f.setSize(800,600);
  f.show();
 }
  }

⌨️ 快捷键说明

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